关于Docker构建和本地Docker回购的问题
我正在尝试使用下面的命令创建docker映像关于Docker构建和本地Docker回购的问题,docker,rhel7,Docker,Rhel7,我正在尝试使用下面的命令创建docker映像 docker build -t mytestapp . 我的DockerFile看起来像这样 # Set the base image FROM rhel7:latest USER root # Dockerfile author / maintainer MAINTAINER Name <email.id@example.com> # Update application repository list and install
docker build -t mytestapp .
我的DockerFile看起来像这样
# Set the base image
FROM rhel7:latest
USER root
# Dockerfile author / maintainer
MAINTAINER Name <email.id@example.com>
# Update application repository list and install the Redis server.
RUN mkdir /usr/local/myapp/
ADD myapp-0.0.1-jar /usr/local/myapp/
RUN java -Dspring.profiles.active=qa -jar /usr/local/myapp/myapp-0.0.1.jar
# Expose default port
EXPOSE 8080
问题:
1我添加JAR文件的方式是否合适。在我准备了上述构建中的am映像之后,它将在容器的/usr/local中可用
2当我使用docker build命令构建映像时,默认情况下会将构建映像推送到docker repository hub
由于WAR文件包含凭据,我不想将映像推送到Docker Hub,但我们希望使用Docker分发版推送到本地Docker注册表,并使用Docker推送到
请澄清 回答您的问题: Docker建议使用复制说明将单个文件添加到图像中。它将在容器中的/usr/local/myapp/myapp-0.0.1-jar中提供 构建映像时,它将在本地docker主机上可用。除非您明确告诉它,否则它不会离开服务器 我想给你的另一个技巧是推荐的docker图像命名约定,即[Repository/Author]/[Imagename]:[Version] 因此,对于您的图像,它可能被称为zama/mytestapp:1.0 如果要将其推入本地注册表,则必须按照语法[LocalRegistry:Port]/[Repository/Author]/[Imagename]:[Version]命名图像 因此,您的图像现在可能被称为registry.example.com:5000/zama/mystestapp:1.0 如果您对注册表进行了身份验证,则需要首先docker登录,然后使用docker push registry.example.com:5000/zama/mystestapp:1.0简单地推送映像