简体   繁体   中英

docker run container, how to rerun

I build container with:

docker build -f Dockerfile.xyz -t dave/xyz .

after that I run docker with:

docker run -it \
--env='LDAP_USER=uid=bot_for_git,ou=bots,dc=company,dc=org' \
--env='LDAP_PASS=' --volume=/srv/docker/xyz/data1:/data \
-p 8010:8010 -p 9989:9989 dave/xyz

and verified that's all ok.

what is next?

My guess, that I should run docker ps , take container id from there, and to run container with the same preferences (environment, port mapping, volumes mapping) I should run:

docker start -a container_id

am I right?

And what about rebuilding image, if change Dockerfile.xyz and rebuild dave/xyz, does container with container_id get update automatically, or I should repeat docker run -it step?

docker build [...] creates an image . You can see your images with docker images . You may give that image a specific name with the --tag=[...] option:

    docker build --tag="superuser/bestimage:latest" .

docker run [...] <imageId> takes that image and starts a container . You can see active containers with docker ps (all with docker ps -a ). If you used the tag above, docker run -it superuser/bestimage:latest may be used.

When you rebuild an image, a new image with a new id is created. You may see that through docker images .

does container with container_id get update automatically

No . In order to update your container, you must first remove the container with docker kill <id> and then start a new one with docker run -it <newID> .

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