一 常用命令
参数 | 说明 | |
---|---|---|
基本参数 | -d 或 --detach | 后台运行容器(守护进程模式) |
--name <容器名> | 为容器指定一个名称 | |
-it | 交互式运行容器(-i 保持 STDIN 打开,-t 分配伪终端) | |
--rm | 容器退出后自动删除 | |
| 容器退出时的重启策略(no 、on-failure 、always 、unless-stopped ) | |
网络参数 | -p <主机端口>:<容器端口> | 端口映射(-p 80:80 将主机的 80 端口映射到容器的 80 端口) |
--network <网络> | 指定容器使用的网络(bridge 、host 、none 或自定义网络) | |
--hostname <主机名> | 设置容器的主机名 | |
--dns <DNS服务器> | 指定 DNS 服务器 | |
存储与卷 | -v <主机路径>:<容器路径> | 挂载主机目录到容器(-v /data:/app/data ) |
--mount type=bind,source=<主机路径>,target=<容器路径> | 更灵活的挂载方式 | |
--volumes-from <容器名> | 从其他容器挂载卷 | |
-e <变量名>=<值> | 设置环境变量 | |
资源限制 | --memory <限制> | 限制内存(--memory 512m 表示最多 512MB) |
--cpus <数量> | 限制 CPU 使用(--cpus 1.5 表示最多使用 1.5 个 CPU) | |
--memory-swap <限制> | 限制内存 + Swap | |
--ulimit <参数> | 设置 ulimit 限制(如 |
二 完整操作流程
查看docker镜像:docker imags
创建docker:
注:指定镜像有三种方法
IMAGE
:指定要使用的镜像名称(如nginx
、ubuntu
)TAG
:镜像标签(如nginx:1.23
,默认latest
)DIGEST
:镜像哈希值(docker images命令的“IMAGE ID”列,比如c148cb6e5b90)拉起docker命令:
docker run -d \
--name my_test \
-p 8080:80 \
-it \
-v /home:/home \
--cpus 2 \
--memory 1g \
--memory-swap 1g \
-e TZ=Asia/Shanghai \
c148cb6e5b90
查看运行docker: docker ps
进入docker: docker exec -it my_test /bin/bash
退出docker: docker内部运行 exit
根据现有docker提交一个新docker: docker commit my_test my_new_docker
删除正在运行的docker: docker rm -f my_test
删除docker镜像: docker rmi my_nes_docker
三 docker运行时信息
查看docker占用的资源:
# 查看所有容器的资源使用(实时刷新) docker stats# 查看指定容器的单次统计 docker stats --no-stream my_nginx# 仅显示CPU和内存 docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"
docker stats命令如下:
CONTAINER ID 容器的uuid
NAME 运行时容器名称
CPU % CPU当前使用率
MEM USAGE / LIMIT MEM % 当前使用的内存/最大内存使用限制
NET I/O 网络IO
BLOCK I/O 磁盘IO
PIDS docker内部的进程数量