Docker Container
1. 什么是 Container2. Container 资源限制2. Container 相关命令2.1. 创建 Container2.2. 查看 Container2.3. 移除 Container2.4. ~~通过 Container 构建 Image~~2.5. 启停 Container2.6. 对 Container 执行命令2.7. 查看 Container 详细信息
1. 什么是 Container
通过 Image 创建(copy)在 Image layer 之上建立一个 container layer(可读写)类比面向对象:类(Image)和实例(Container)Image 负责 app 的存储和分发,Container 负责运行 app
2. Container 资源限制
2. Container 相关命令
$ docker
Usage: docker COMMAND
A self-sufficient runtime
for containers
Options:
--config string Location of client config files
(default
"/root/.docker")
-D, --debug Enable debug mode
--help Print usage
...
...
Management Commands:
container Manage containers
image Manage images
network Manage networks
...
...
Commands:
attach Attach to a running container
build Build an image from a Dockerfile
commit Create a new image from a container
's changes
... ...
Run 'docker COMMAND --help'
for more information on a command.
Docker 命令分两大类,Management Commands 和 Commands。 Management Commands 主要是对 docker 里对象进行管理的命令, Commands 是提供一些简便方法做一些操作。 e.g.,
Management Commands:
$ docker container
ls -a
Commands:
$ docker
ps -a
2.1. 创建 Container
$ docker run
${image_name|image_id}
$ docker run -it
${image_name|image_id}
$ docker run -it
${image_name|image_id} ${command}
$ docker run -d
${image_name|image_id}
2.2. 查看 Container
查看正在运行的容器:
$ docker container
ls
$ docker
ps
查看所有容器:
$ docker container
ls -a
$ docker
ps -a
2.3. 移除 Container
$ docker container
rm ${container_id}
$ docker
rm ${container_id}
tips:
清理所有 Container
$ docker
rm $(docker container ls -aq)
清理 Exited 状态的 Container
$ docker
rm $(docker container ls -f "status=exited" -q)
2.4. 通过 Container 构建 Image
$ docker container commit
${container_name} ${image_name}
$ docker commit
${container_name} ${image_name}
2.5. 启停 Container
$ docker start
${container_name|container_id}
$ docker stop
${container_name|container_id}
2.6. 对 Container 执行命令
$ docker
exec -it
${container_id|container_name} ${command}
2.7. 查看 Container 详细信息
$ docker inspect
${container_name|container_id}
参考文档:
https://docs.docker.com/engine/reference/commandline/container