Docker 容器启动参数及其含义解析

阅读时长 5 分钟读完

前言

Docker 是一款开源的虚拟化程序,它利用容器技术,可以将应用程序和其它依赖项打包成一个可移植的容器,从而快速、可靠地部署到任何支持 Docker 的主机上。在启动一个 Docker 容器时,我们可以通过设置一些启动参数来对容器的行为进行控制。本文将对常用的 Docker 容器启动参数进行详细的解析,以及如何利用这些参数来提高容器的性能和安全性。

容器启动参数

-d/--detach/--detach-keys

这个参数可以让容器在后台运行。如果不加这个参数,容器会在前台启动,并占据控制台窗口。使用方式如下:

如果需要在后台连接到容器,可以使用 docker attach 命令。默认情况下,使用 CTRL+C 可以停止前台容器。如果使用 -d 参数,在容器运行时,将不会有输出。如果需要查看容器的输出,可以使用 docker logs 命令。

-p/--publish

这个参数可以将容器内部的端口映射到 Docker 主机上的一个端口。使用方式如下:

其中,host_port 是 Docker 主机上的端口号,container_port 是容器内部的端口号。例如,运行下面的命令将把容器的 80 端口映射到 Docker 主机的 8080 端口:

如果需要将容器的所有端口都映射到 Docker 主机上,可以使用 -P 参数。

--restart

这个参数可以设置容器在出现错误或退出时是否自动重启。可以设置的选项有:

  • no:不自动重启
  • on-failure:仅在容器非正常退出时重启
  • always:总是重启

使用方式如下:

-v/--volume

这个参数可以将容器内部的路径映射到 Docker 主机上的一个路径。使用方式如下:

其中,host_path 是 Docker 主机上的路径,container_path 是容器内部的路径。例如,运行下面的命令将把容器的 /app 目录映射到 Docker 主机的 /home/user/app 目录:

如果需要将容器中的数据持久化,可以使用 --mount 参数。

--name

这个参数可以给容器一个名字。使用方式如下:

--env/--env-file

这个参数可以设置容器内使用的环境变量。使用方式如下:

其中,key 是环境变量名,value 是环境变量的值。

如果需要设置多个环境变量,可以使用 --env-file 参数指定一个环境变量文件。

--user

这个参数可以设置容器运行时使用的用户。使用方式如下:

--network

这个参数可以设置容器使用的网络。可以选择的网络包括:

  • bridge:使用 Docker 默认的桥接网络
  • host:使用主机网络
  • none:不使用任何网络

使用方式如下:

--privileged

这个参数可以给容器提供 root 用户权限,使容器拥有访问主机设备的能力。使用方式如下:

--cpu-shares/--cpu-quota

这个参数可以设置容器使用的 CPU 资源。--cpu-shares 参数用于设置容器的 CPU 配额,--cpu-quota 参数用于设置容器每秒可以使用的 CPU 时间配额。

使用方式如下:

--memory/--memory-swap

这个参数可以设置容器使用的内存资源。--memory 参数用于设置容器最大可用内存,--memory-swap 参数用于设置容器在交换文件中所允许的最大内存量。

使用方式如下:

总结

本文对常用的 Docker 容器启动参数进行了详细的解析,希望读者可以根据自己的实际需求,选择合适的参数,提高容器的性能和安全性。

参考链接

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6461d6a2968c7c53b032d99d

纠错
反馈