4.1 创建容器常用选项
指令 | 描述 |
-i, --interactive | 交互式 |
-t, --tty | 分配一个伪终端 |
-d, --detach | 运行容器到后台 |
-a, --attach list | 附加到运行的容器 |
--dns list | 设置DNS服务器 |
-e, --env list | 设置环境变量 |
--env-file list | 从文件读取环境变量 |
-p, --publish list | 发布容器端口到主机 |
-P, --publish-all | 发布容器所有EXPOSE的端口到宿主机随机端口 |
-h, --hostname string | 设置容器主机名 |
--ip string | 指定容器IP,只能用于自定义网络 |
--link list | 添加连接到另一个容器 |
--network | 连接容器到一个网络 |
--mount mount | 挂载宿主机分区到容器 |
-v, --volume list | 挂载宿主机目录到容器 |
--restart string | 容器退出时重启策略,默认no [always|on-failure] |
--add-host list | 添加其他主机到容器中/etc/hosts |
资源限制指令 | 描述 |
-m,--memory | 容器可以使用的最大内存量 |
--memory-swap | 允许交换到磁盘的内存量 |
--memory-swappiness=<0-100> | 容器使用SWAP分区交换的百分比(0-100,默认为-1) |
--memory-reservation | 内存软限制,Docker检测主机容器争用或内存不足时所激活的软限制,使用此选项,值必须设置低于—memory,以使其优先 |
--oom-kill-disable | 当宿主机内存不足时,内核会杀死容器中的进程。建议设置了-memory选项再禁用OOM。如果没有设置,主机可能会耗尽内存 |
--cpus | 限制容器可以使用多少可用的CPU资源 |
--cpuset-cpus | 限制容器可以使用特定的CPU |
--cpu-shares | 此值设置为大于或小于默认1024值,以增加或减少容器的权重,并使其可以访问主机CPU周期的更大或更小比例 |
4.2 管理容器常用命令
指令 | 描述 |
docker container ls | 列出容器 (新版本不支持省略写法docker ls) |
docker container inspect | 显示一个或多个容器详细信息 |
docker container attach | 附加本地标准输入,输出和错误到一个运行的容器 |
docker container exec | 在运行容器中执行命令 |
docker container commit | 创建一个新镜像来自一个容器(容器安装插件,不推荐) |
docker container cp | 拷贝文件/文件夹到一个容器 |
docker container logs | 获取一个容器日志 |
docker container port | 列出或指定容器端口映射 |
docker container stats | 显示容器资源使用统计 |
docker container top | 显示容器运行的进程 |
docker container update | 更新一个或多个容器配置 |
docker container stop/start | 停止/启动一个或多个容器 |
docker container rm | 删除一个或多个容器 |
4.3 实战
- 显示容器运行的进程
docker top nginx03
- 进入容器(分配一个伪终端)
docker exec -it nginx03 bash
- 退出伪终端容器
exit
- 提交镜像(镜像bs1 中安装了插件)
docker commit bs1 busybox:v2
容器复用性:比如安装了一些东西,如何保存。
提交到一个镜像,然后使用镜像去创建容器(不推荐)
- 拷贝文件到容器中
运行中的容器,拷贝文件到容器中(不推荐,除非运行中的容器),重启后文件还在
docker container cp anaconda-ks .cfg bs1:/root
- 查看端口映射
docker port nginx01