容器看着像机器,实际是进程,是一个运行时程序。python
要操做一个 Docker 容器,只须要执行 docker container 命令。 能够经过 help 查看nginx
基础使用:web
docker container run nginx
复制代码
Docker 会到本地区查找有没有叫作 nginx 的镜像(镜像这篇暂不涉及)。若是没有,会在 Docker Hub 官方仓库当中下载。docker
Docker 每条命令里都有可选参数。如下是 run 常常使用的一些可选参数:shell
-p / --publish
编辑器
开放端口。好比开放容器的 80 端口和 22 端口,分别映射到宿主机的 8000 和 5000 端口。nginx 必需要开放端口才可使用。ui
docker container -p 8000:80 -p 5000:22 nginx
复制代码
-d / --detach
spa
后台运行,打印容器 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 数据卷(数据卷是宿主机和容器之间的数据通道,这里暂不讨论。)
查看某个容器运行的日志。
docker container logs container_id
复制代码
中止容器运行
docker container stop container_id(name)
复制代码
删除容器
docker container rm container_id(name)
复制代码
基础使用:
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
复制代码
更多文章关注公号:雨哥写 python