Skip to content

容器管理命令: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-stoppeddocker 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=bridgedocker network ls --filter driver=bridge
connect--ip指定容器在网络中的 IPdocker network connect --ip 172.20.0.10 my_net my_container

存储卷管理命令:docker volume

管理 Docker 数据卷,实现数据持久化。

常用参数:

命令参数说明示例
create--driver指定卷驱动(默认 localdocker 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-filedocker 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_ADMINdocker run --cap-add SYS_ADMIN alpine
--cap-drop移除 Linux 权限docker run --cap-drop CHOWN alpine
--security-opt安全选项(如 seccomp=unconfineddocker run --security-opt seccomp=unconfined alpine

资源限制参数

参数说明示例
--memory (-m)限制内存(支持 m, gdocker run -m 512m nginx
--memory-swap内存 + Swap 总限制docker run -m 512m --memory-swap=1g nginx
--cpus限制 CPU 核数docker run --cpus=2 nginx
--cpu-sharesCPU 权重(默认 1024)docker run --cpu-shares=512 nginx

其他实用命令

1. docker exec

在运行中的容器内执行命令:

bash
docker exec -it my_container bash  # 进入容器终端

2. docker cp

在容器和主机之间复制文件:

bash
docker cp my_container:/app/logs ./logs  # 从容器复制到主机

3. docker-compose

通过 YAML 文件管理多容器应用(需安装 Docker Compose):

yaml
version: '3'
services:
  web:
    image: nginx
    ports:
      - "8080:80"