部分转载自:docker run 命令常用参数详解 - 明月, - 博客园
docker run 命令示例
-
docker run -d \
-
--name my_nginx \
-
-p 80:80 \
-
-v /path/to/nginx/conf:/etc/nginx/conf.d \
-
-v /path/to/nginx/html:/usr/share/nginx/html \
- nginx:latest
- -d: 在后台以守护进程模式运行容器。
- --name my_nginx: 为容器指定一个名称(可以根据需要更改为您喜欢的名称)。
- -p 80:80: 将主机的端口 80 映射到容器的端口 80。这样,您可以通过访问 来访问 NGINX 容器中的网站。
- -v /path/to/nginx/conf:/etc/nginx/conf.d: 将主机上的 NGINX 配置文件目录挂载到容器中的 /etc/nginx/conf.d 目录,以便使用自定义的 NGINX 配置。
- -v /path/to/nginx/html:/usr/share/nginx/html: 将主机上的 HTML 文件目录挂载到容器中的 /usr/share/nginx/html 目录,以便在容器中提供自定义的静态网页内容。
- nginx:latest: 指定要使用的 NGINX 镜像及其标签(可以根据实际情况替换为您自己的镜像名称和标签)。
参数详解
Docker run 命令是在 Docker 中创建和运行容器的主要命令之一。它允许您根据需要配置容器的各种属性。以下是 Docker run 命令的30个常用参数的详细解释和示例用法,帮助您更好地理解和使用这些参数。
-
-d 或 --detach:以后台模式运行容器,将容器放置在后台运行,作为守护进程。
示例:docker run -d image_name -
-it:以交互模式运行容器,允许与容器进行交互。
示例:docker run -it image_name -
--name:为容器指定一个名称。
示例:docker run --name container_name image_name -
-p:将容器的端口映射到主机上的一个端口。
示例:docker run -p host_port:container_port image_name -
-v:挂载主机上的文件或目录到容器内部。
示例:docker run -v host_path:container_path image_name -
-e:设置容器的环境变量。
示例:docker run -e ENV_VARIABLE=value image_name -
--restart:指定容器在退出时的重启策略。
示例:docker run --restart=always image_name -
--link:将容器连接到另一个容器,在两个容器之间建立网络连接。
示例:docker run --link container_name:image_alias image_name -
--dns:指定容器使用的自定义 DNS 服务器。
示例:docker run --dns 8.8.8.8 image_name -
--dns-search:指定容器的 DNS 搜索域。
示例:docker run --dns-search example.com image_name -
--cap-add 和 --cap-drop:增加或删除容器的 Linux 能力,用于控制容器的权限。
示例:docker run --cap-add=SYS_ADMIN image_name -
--privileged:给容器赋予特权,可以访问主机的设备。
示例:docker run --privileged image_name -
--tmpfs:在容器内创建临时文件系统,用于存储临时数据。
示例:docker run --tmpfs /tmp image_name -
--ulimit:设置容器的资源限制,如{BANNED}最佳大打开文件数、{BANNED}最佳大进程数等。
示例:docker run --ulimit nofile=1024:1024 image_name -
--security-opt:设置容器的安全选项,如 AppArmor 配置、Seccomp 配置等。
示例:docker run --security-opt seccomp:unconfined image_name -
--cpu-shares:设置容器的 CPU 份额,用于控制 CPU 资源的分配。
示例:docker run --cpu-shares 512 image_name -
--memory:设置容器可使用的内存限制。
示例:docker run --memory 1g image_name -
--network:指定容器使用的网络模式。
示例:docker run --network bridge image_name -
--hostname:设置容器的主机名。
示例:docker run --hostname my_container image_name -
--user:指定容器运行时的用户名或 UID。
示例:docker run --user username image_name -
--volume-driver:指定容器使用的卷驱动程序。
示例:docker run --volume-driver my_driver image_name -
--shm-size:设置容器的共享内存大小。
示例:docker run --shm-size 2g image_name -
--add-host:向容器的 /etc/hosts 文件添加自定义主机名和 IP 映射。
示例:docker run --add-host myhost:192.168.0.100 image_name -
--read-only:将容器的文件系统设置为只读模式。
示例:docker run --read-only image_name -
–cpu-quota:设置容器的 CPU 配额,以微秒为单位。
示例:docker run --cpu-quota=50000 image_name -
--cpu-period:设置容器的 CPU 周期,以微秒为单位。
示例:docker run --cpu-period=100000 image_name -
--dns-option:为容器的 DNS 配置添加自定义选项。
示例:docker run --dns-option=timeout:5 image_name -
--sysctl:设置容器的内核参数。
示例:docker run --sysctl net.ipv4.ip_forward=1 image_name -
--label:为容器添加标签,用于识别和组织容器。
示例:docker run --label env=production image_name -
--workdir:设置容器的工作目录。
示例:docker run --workdir /app image_name