Docker 参数
2025年5月19日大约 3 分钟
容器管理命令:docker run
启动一个新容器的核心命令,参数覆盖容器生命周期的基础配置。
常用参数:
参数 | 说明 | 示例 |
---|---|---|
-d (--detach ) | 后台运行容器 | docker run -d nginx |
--name | 指定容器名称 | docker run --name my-nginx nginx |
-p (--publish ) | 端口映射(主机端口:容器端口) | docker run -p 8080:80 nginx |
-v (--volume ) | 挂载数据卷(主机路径:容器路径) | docker run -v /data:/app/data nginx |
-e (--env ) | 设置环境变量 | docker run -e "ENV=prod" nginx |
--env-file | 从文件加载环境变量 | docker run --env-file .env nginx |
--restart | 容器退出后的重启策略(no , on-failure , always , unless-stopped ) | docker run --restart=always nginx |
--rm | 容器退出后自动删除 | docker run --rm alpine echo "hello" |
-it | 交互模式(分配伪终端并保持 STDIN 打开) | docker run -it ubuntu bash |
--network | 指定容器网络 | docker run --network=my_network nginx |
--link | 连接其他容器(旧版网络,推荐使用自定义网络替代) | docker run --link redis:redis app |
--entrypoint | 覆盖默认入口命令 | docker run --entrypoint /bin/bash nginx |
-m (--memory ) | 限制容器内存 | docker run -m 512m nginx |
--cpus | 限制 CPU 核数 | docker run --cpus=1.5 nginx |
镜像管理命令:docker build
构建 Docker 镜像的核心命令,需配合 Dockerfile
使用。
常用参数:
参数 | 说明 | 示例 |
---|---|---|
-t (--tag ) | 指定镜像名称和标签 | docker build -t myapp:v1 . |
--build-arg | 传递构建参数(需在 Dockerfile 中定义) | docker build --build-arg VERSION=1.0 . |
--no-cache | 禁用构建缓存 | docker build --no-cache . |
--target | 多阶段构建时指定目标阶段 | docker build --target=prod . |
-f (--file ) | 指定 Dockerfile 路径 | docker build -f ./Dockerfile.prod . |
网络管理命令:docker network
管理 Docker 网络的命令,支持创建、查看和删除网络。
常用参数:
命令 | 参数 | 说明 | 示例 |
---|---|---|---|
create | --driver | 指定网络驱动(bridge , overlay , host 等) | docker network create --driver bridge my_net |
ls | --filter | 过滤网络列表(如 driver=bridge ) | docker network ls --filter driver=bridge |
connect | --ip | 指定容器在网络中的 IP | docker network connect --ip 172.20.0.10 my_net my_container |
存储卷管理命令:docker volume
管理 Docker 数据卷,实现数据持久化。
常用参数:
命令 | 参数 | 说明 | 示例 |
---|---|---|---|
create | --driver | 指定卷驱动(默认 local ) | docker volume create --driver local my_vol |
ls | --filter | 过滤卷列表 | docker volume ls --filter name=my_vol |
inspect | - | 查看卷详细信息 | docker volume inspect my_vol |
日志与调试参数
常用参数:
参数 | 说明 | 示例 |
---|---|---|
--log-driver | 指定日志驱动(json-file , syslog , none 等) | docker run --log-driver=json-file nginx |
--log-opt | 日志驱动选项(如 max-size , max-file ) | docker run --log-opt max-size=10m nginx |
-t (--tty ) | 分配伪终端(常用于交互式命令) | docker run -it ubuntu bash |
安全与权限参数
参数 | 说明 | 示例 |
---|---|---|
--user | 指定容器内用户(UID 或用户名) | docker run --user 1000 nginx |
--cap-add | 添加 Linux 权限(如 SYS_ADMIN ) | docker run --cap-add SYS_ADMIN alpine |
--cap-drop | 移除 Linux 权限 | docker run --cap-drop CHOWN alpine |
--security-opt | 安全选项(如 seccomp=unconfined ) | docker run --security-opt seccomp=unconfined alpine |
资源限制参数
参数 | 说明 | 示例 |
---|---|---|
--memory (-m ) | 限制内存(支持 m , g ) | docker run -m 512m nginx |
--memory-swap | 内存 + Swap 总限制 | docker run -m 512m --memory-swap=1g nginx |
--cpus | 限制 CPU 核数 | docker run --cpus=2 nginx |
--cpu-shares | CPU 权重(默认 1024) | docker run --cpu-shares=512 nginx |
其他实用命令
1. docker exec
在运行中的容器内执行命令:
docker exec -it my_container bash # 进入容器终端
2. docker cp
在容器和主机之间复制文件:
docker cp my_container:/app/logs ./logs # 从容器复制到主机
3. docker-compose
通过 YAML 文件管理多容器应用(需安装 Docker Compose):
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"