Docker 所有基础命令

来源:互联网 发布:php留言板源码 编辑:程序博客网 时间:2024/05/29 06:35

Reference link for below commands: https://docs.docker.com/get-started/

Create image using this directory’s Dockerfile

docker build -t friendlyname .

Run “friendlyname” mapping port 4000 to 80

docker run -p 4000:80 friendlyname

Same thing, but in detached mode

docker run -d -p 4000:80 friendlyname

List all running containers

docker container ls

List all containers, even those not running

docker container ls -a

Gracefully stop the specified container

docker container stop

Force shutdown of the specified container

docker container kill

Remove specified container from this machine

docker container rm

Remove all containers

docker container rm $(docker container ls -a -q)

List all images on this machine

docker image ls -a

Remove specified image from this machine

docker image rm

Remove all images from this machine

docker image rm $(docker image ls -a -q)

Log in this CLI session using your Docker credentials

docker login

Tag for upload to registry

docker tag username/repository:tag

Upload tagged image to registry

docker push username/repository:tag

Run image from a registry

docker run username/repository:tag

List stacks or apps

docker stack ls

Run the specified Compose file

docker stack deploy -c

List running services associated with an app

docker service ls

List tasks associated with an app

docker service ps

Inspect task or container

docker inspect

List container IDs

docker container ls -q

Tear down an application

docker stack rm

Take down a single node swarm from the manager

docker swarm leave –force

Create a VM (Mac, Win7, Linux)

docker-machine create –driver virtualbox myvm1

View basic information about your node

docker-machine env myvm1

List the nodes in your swarm

docker-machine ssh myvm1 “docker node ls”

Inspect a node

docker-machine ssh myvm1 “docker node inspect ”

View join token

docker-machine ssh myvm1 “docker swarm join-token -q worker”

Open an SSH session with the VM; type “exit” to end

docker-machine ssh myvm1

View nodes in swarm (while logged on to manager)

docker node ls

Make the worker leave the swarm

docker-machine ssh myvm2 “docker swarm leave”

Make master leave, kill swarm

docker-machine ssh myvm1 “docker swarm leave -f”

list VMs, asterisk shows which VM this shell is talking to

docker-machine ls

Start a VM that is currently not running

docker-machine start myvm1

show environment variables and command for myvm1

docker-machine env myvm1

Mac command to connect shell to myvm1

eval $(docker-machine env myvm1)

Deploy an app; command shell must be set to talk to manager (myvm1), uses local Compose file

docker stack deploy -c

Copy file to node’s home dir (only required if you use ssh to connect to manager and deploy the app)

docker-machine scp docker-compose.yml myvm1:~

Deploy an app using ssh (you must have first copied the Compose file to myvm1)

docker-machine ssh myvm1 “docker stack deploy -c ”

Disconnect shell from VMs, use native docker

eval $(docker-machine env -u)

Stop all running VMs

docker-machine stop $(docker-machine ls -q)

Delete all VMs and their disk images

docker-machine rm $(docker-machine ls -q)