docker容器常用启动参数详解

docker run [option] 镜像名 [向启动容器中传入的命令]
#例如:docker运行mysql8.0.30并设置密码为root
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root --restart=always --privileged=true -d mysql:8.0.30
#--restart=always  参数能够使我们在重启docker时,自动启动相关容器。
   #Docker容器的重启策略如下:
   #no,默认策略,在容器退出时不重启容器
   #on-failure,在容器非正常退出时(退出状态非0),才会重启容器
   #on-failure:3,在容器非正常退出时重启容器,最多重启3次
   #always,在容器退出时总是重启容器
   #unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
 
#--privileged=true 使用该参数,container内的root拥有真正的root权限。
  #不使用该参数,container内的root只是外部的一个普通用户权限。
  #大约在0.6版,privileged被引入docker
  #privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
  #甚至允许你在docker容器中启动docker容器。
  • i 表示以“交互模式”运行容器
  • -t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
  • –name 为创建的容器命名
  • -v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
  • -d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
  • -p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
  • -e 为容器设置环境变量
  • –network=host 表示将主机的网络环境映射到容器中,容器的网络与主机相同
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐