docker run运行容器参数介绍

-d			#后台运行,执行完命令就会在后台运行,而如果和--rm一起使用的话,执行完就删除,不会在后台运行

对于使用-d启动的容器,如果要修改容器当中的内容,最好使用容器卷。

-i			#分配一个pseudo-tty,这个应该是一个终端
-t			#即使没有连接,也保持STDIN打开

-i-t一般一起使用,即进入到容器的终端

--name		#指定容器的名称,如果没有指定名称,将为你随机分配一个字符串
Image[:tag]	#指定镜像名称和版本信息
docker run ubuntu:14.04
--rm		#当容器退出时自动删除容器

--rm使用场景:默认情况下,容器的文件系统即使在容器退出后也会保存。这样调试就容易多了(因为可以检查最终状态),并且默认情况下保留所有数据。但是如果您运行的是短期前台进程,那么这些容器文件系统可能真的会堆积起来。如果你想要Docker自动清理容器并在容器退出时删除文件系统,你可以添加--rm标志。

在Docker命令行中调用可选命令:

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
#这个命令是可选的,因为创建IMAGE的人可能已经使用Dockerfile CMD指令提供了一个默认命令。作为操作者(从image运行容器的人),您可以通过指定一个新的COMMAND来覆盖那个CMD指令。默认在镜像当中只会存在一个CMD,如果这里写命令的话,镜像当中的CMD就不会生效。如果镜像中也指定一个ENTRYPOINT,那么CMD或COMMAND生效的那一个将作为参数附加到ENTRYPOINT。

可以在运行时使用字符串指定新的ENTRYPOINT来覆盖默认的ENTRYPOINT

你可以通过传递一个空字符串来重置容器entrypoint,例如:

docker run -it --entrypoint="" mysql bash

这样上面的只有bash这个命令会生效。即传入--entrypoint将清除image上的任何默认命令设置(即Dockerfile中用于构建它的任何CMD指令)。

-p(小写)				#指定端口号 如: -p 8080:8080
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口(常用)
	-p 容器端口
-P(大写)				#大写P,随机指定端口
-e				#设置环境变量如:-e "foo=bar"

具名挂载和匿名挂载

#匿名挂载
-v 容器内路径
docker run -d -P --name nginx01 -v /etc/nginx nginx
#查看所有的volume的情况
docker volume ls
#得到的结果类似于
local			5f4a564ga565a1a315e1g312a31fe3515ga313d15eg16e7897g8gq
#上面这种挂载就属于匿名挂载,我们在-v中只写了容器内的路径,没有写容器外的路径
#具名挂载
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
docker volume ls
local			juming-nginx
#通过			-v 卷名:容器内路径		使用具名挂载
#查看这个卷
docker volume inspect juming-nginx

所有的docker容器内的卷,在没有指定宿主机目录的情况下,都是在/var/lib/docker/volumes/卷名/下,如果是具名挂载,卷名就是我们所用的卷名,如果是匿名挂载,则卷名是随机生成的一连串数字,因此大多数情况下会使用具名挂载,而不是匿名挂载。

#如何确定是具名挂载还是匿名挂载,还是指定路径挂载
-v 容器内路径			#匿名挂载
-v 卷名:容器内路径		  #具名挂载
-v /宿主机路径:容器内路径 #指定路径挂载

拓展

#通过 -v 容器内路径:ro  或者  rw 改变读写权限
ro		readonly		#只读
rw		readwrite		#可读可写
#一旦这个设置了容器权限,容器对我们挂载出来的内容就会有限制了
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx
#ro说明这个路径只能通过宿主机来操作,容器内部是无法操作的,默认是rw
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值