一、常用选项
1.格式:docker run [OPTIONS选项] IMAGE [COMMAND命令] [ARG...]
2.常用选项:
指令 | 描述 |
-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 |
3.资源限制
资源限制指令 | 描述 |
-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.常用命令
指令 | 描述 |
ls | 列出容器 |
inspect | 显示一个或多个容器详细信息 |
attach | 附加本地标准输入,输出和错误到一个运行的容器 |
exec | 在运行容器中执行命令 |
commit | 创建一个新镜像来自一个容器 |
cp | 拷贝文件/文件夹到一个容器 |
logs | 获取一个容器日志 |
port | 列出或指定容器端口映射 |
stats | 显示容器资源使用统计 |
top | 显示一个容器运行的进程 |
update | 更新一个或多个容器配置 |
stop/start | 停止/启动一个或多个容器 |
rm | 删除一个或多个容器 |
rename | 给已创建/已运行的容器更改容器name |
5.操作
1.查看所有容器
docker container ps -a
2.查看运行中的容器
docker container ps
docker container ls
3.进入容器
docker container attach name/id
4.退出
Ctrl + p + q #退出终端不退出容器
exit #退出容器
5.启动容器
docker container start name/id
6.创建容器
docker create centos:7(镜像)
docker container run -itd centos:7(创建并运行)
docker container run -itd --name=centos7.x centos:7 (指定容器name)
docker container run -itd -p 88:80 centos:7 (映射端口 宿主机:容器)
docker container run -itd -e abc=123 centos:7 (配置环境变量abc为123)
docker container run -itd -h mycentos centos:7 (指定主机名为mycentos)
7.进入容器
docker container exec -it name/id bash/sh (2选1)
docker attach name/id
8.查看容器日志
docker logs name/id
9.创建容器时限制cpu和内存
docker container run -itd ---cpus=1 --memory=512m centos:7 (限制cpu为1核,内存为512m)
10.查看资源利用率
docker container stats name/id
11.查看容器详细信息
docker container inspect name/id
12.查看容器中运行的进程
docker container top name/id
13.将容器制作成一个新镜像
docker container commit name/id centos:7
14.复制容器的文件到宿主机
docker container cp name/id:/etc/nginx.conf /etc/nginx.conf
15.查看容器端口映射
docker container port name/id
16.动态更改容器资源限制
docker container update
17.限制内存&cpu选项
docker run –help |grep memory
docker run –help |grep cpu
18.导出某个容器
docker export name/id > filename.tar
19.导入某个容器作为新镜像
cat filename.tar |docker import - centos:7
20.删除容器
docker rm -f name/id
21.删除全部容器
docker rm -f $(docker container ps -a |awk '{print $1}'|grep -v CONTAINER)
22.给mysql容器改名为mariadb
docker rename mysql mariadb