Docker 运行参数参考
Docker 运行参数参考
Docker 提供了丰富的命令行参数,用于在运行容器时进行各种配置。掌握这些参数,可以帮助你更好地管理和调试容器。以下是 Docker run
命令中常用参数的详细介绍。
1. 基本运行命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
2. 常用参数
-d, --detach
-d
参数用于后台运行容器。
docker run -d nginx
-p, --publish
-p
参数用于将容器的端口映射到主机的端口。
docker run -d -p 8080:80 nginx
上例中,将容器的 80 端口映射到主机的 8080 端口。
--name
--name
参数用于为容器指定一个名称,方便管理。
docker run -d --name my-nginx nginx
-e, --env
-e
参数用于设置环境变量。
docker run -d -e MY_ENV_VAR=value nginx
-v, --volume
-v
参数用于挂载主机目录或数据卷到容器中。
docker run -d -v /host/path:/container/path nginx
上例中,将主机的 /host/path
目录挂载到容器的 /container/path
目录。
--rm
--rm
参数用于容器停止后自动删除容器。
docker run --rm nginx
-it
-i
参数用于保持标准输入打开,-t
参数用于分配一个伪终端。通常一起使用以交互模式运行容器。
docker run -it ubuntu /bin/bash
--network
--network
参数用于连接容器到指定的网络。
docker run -d --network my-network nginx
--restart
--restart
参数用于设置容器的重启策略。
docker run -d --restart always nginx
常用重启策略:
no
:容器退出时不重启(默认值)。always
:容器退出时总是重启。on-failure
:只有在容器退出状态非 0 时重启。unless-stopped
:容器退出时总是重启,除非手动停止。
--link
--link
参数用于链接另一个容器,可以访问被链接容器的网络信息。
docker run -d --link other-container:alias nginx
--cpus
--cpus
参数用于限制容器使用的 CPU 资源。
docker run -d --cpus="1.5" nginx
上例中,容器最多使用 1.5 个 CPU。
--memory
--memory
参数用于限制容器使用的内存。
docker run -d --memory="256m" nginx
上例中,容器最多使用 256MB 内存。
--gpus
--gpus
参数用于指定容器可以访问的 GPU 设备。
docker run -d --gpus all nvidia/cuda:10.0-base
--log-driver
--log-driver
参数用于指定日志驱动。
docker run -d --log-driver=syslog nginx
--health-cmd, --health-interval, --health-retries, --health-timeout
用于配置容器的健康检查。
docker run -d --health-cmd="curl -f http://localhost/ || exit 1" --health-interval=1m --health-retries=3 --health-timeout=10s nginx
3. 示例
以下是一个综合示例,展示了如何使用多个参数运行一个容器:
docker run -d \
--name my-nginx \
-p 8080:80 \
-e ENV=production \
-v /my/local/config:/etc/nginx/conf.d \
--network my-network \
--restart unless-stopped \
--cpus="2" \
--memory="512m" \
nginx
该命令将启动一个名为 my-nginx
的 Nginx 容器,映射端口、设置环境变量、挂载配置文件目录、连接到自定义网络、设置重启策略,并限制 CPU 和内存使用。
结论
Docker run
命令提供了丰富的参数选项,可以灵活地配置和管理容器。通过熟练掌握这些参数,你可以更好地控制容器的运行环境和资源分配。