简体   繁体   中英

Questions on Docker Build and Local Docker Repo

I am trying to create a docker image using the below command .

docker build -t mytestapp .

My DockerFile looks like this

# 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

Questions:

1) Is it fine the way I am adding the JAR file. Will it be available inside /usr/local on the container after I prepared am image from the above build.

2) When I build the image using docker build command , is the build image is pushed to docker repository hub by default.

Since the WAR file contains credentials, I don't want to push the image to Docker Hub but we would like to push to our local Docker registry using Docker distribution and pushing with docker push .

Please clarify.

Answering your questions:

  1. Docker recommends using the COPY instructions for adding single files into an image. It will be available inside the container at /usr/local/myapp/myapp-0.0.1-jar

  2. When you build the image it will be available on your local docker-host. It won't leave the server unless you explicitly tell it so.

Another tip I want to give you is the recommended docker image naming convention, which is [Repository/Author]/[Imagename]:[Version] .

So for your image it might be called zama/mytestapp:1.0

If you want to push it into your local registry, you'll have to name your image after the syntax [LocalRegistry:Port]/[Repository/Author]/[Imagename]:[Version] .

So your image might now be called registry.example.com:5000/zama/mystestapp:1.0

If you have authentication on your registry, you need to docker login first and then simply push the image with docker push registry.example.com:5000/zama/mystestapp:1.0 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM