Docker 入门:容器
和牛 人气:0容器看着像机器,实际是进程,是一个运行时程序。
要操作一个 Docker 容器,只需要执行 docker container 命令。 可以通过 help 查看
run 运行容器
基础使用:
docker container run nginx
Docker 会到本地区查找有没有叫做 nginx 的镜像(镜像这篇暂不涉及)。如果没有,会在 Docker Hub 官方仓库当中下载。
Docker 每条命令里都有可选参数。以下是 run 经常使用的一些可选参数:
-p / --publish
开放端口。比如开放容器的 80 端口和 22 端口,分别映射到宿主机的 8000 和 5000 端口。nginx 必须要开放端口才可以使用。
docker container -p 8000:80 -p 5000:22 nginx
-d / --detach
后台运行,打印容器 ID。
没有后台运行时,会显示 nginx 的日志:
后台运行以后,打印容器 ID 后可以接着做其他的事:
--name
给容器取一个名字,更容易记得住。 默认容器名称是随机生成的。
-e / --env
给容器添加环境变量。
-i, --interactive
开启交互式模式。
-t / --tty
开启 tty。
-i 和 -t 经常组合在一起使用,可以在容器中输入 shell 命令。 比如通过 Docker 安装一个 python 环境,然后在命令行运行 python:
docker container run -it python:3.7-alpine python
运行以后,可以直接获取 python 终端进行调试:
使用交互式进入已经在运行的容器:
docker container exec -it container_id
--rm
退出容器时自动删除容器,通常用在调试过程中。
-v / --volume
添加 volume 数据卷(数据卷是宿主机和容器之间的数据通道,这里暂不讨论。)
logs 日志查看
查看某个容器运行的日志。
docker container logs container_id
stop 命令
停止容器运行
docker container stop container_id(name)
rm 命令
删除容器
docker container rm container_id(name)
ls 查看容器
基础使用:
docker container ls
可以选择的参数:
-a / --all
展示所有的容器,包含运行的和没有运行的。
-q / --quiet
只显示 IDs。
-f / --filter
筛选容器。
列举所有退出的容器,并显示 ID:
docker container ls -aq -f "status=exited"
删除所有退出的容器:
docker container rm $(docker container ls -aq -f "status=exited") --force
加载全部内容