Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于Docker构建和本地Docker回购的问题_Docker_Rhel7 - Fatal编程技术网

关于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映像

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简单地推送映像