利用上一节我们所学习的参数已经能够让大多数容器正常运行了,但还有一些参数也比较常用,可以让我们的容器使用起来更加方便~

interactive

有时候我们创建容器后需要立即进入容器进行操作,那么可以加上--interactive(缩写形式-i)打开标准输入通道,允许进入交互模式。也就是说可以从当前命令行输入命令。这个参数不会单独使用,一般和参数--tty参数一起使用。

tty

一些镜像的启动命令在前台运行,意味着如果直接启动的话我们无法进入容器并通过命令行操作,所以需要加上--tty(缩写形式-t)来为容器分配一个伪终端,用于在容器中执行各种命令。

restart

所有的容器都是由docker服务来负责维护的,如果我们停止docker服务所有容器都会停止。而容器默认情况下是不会随着docker服务的启动而启动的,这对需要稳定运行的容器是很不友好的,我们需要通过配置restart参数来改变容器的启动策略,它有3个值:

  • no。默认值,当容器被停止后不会自动再次启动。

  • failure。当容器因异常退出时会尝试重新启动。

  • always。任何情况下一旦容器停止都会视图重新启动容器。

docker run --name web3 -d --publish 8082:80 --volume C:web:/usr/share/nginx/html --restart always nginx

如果你关闭docker服务(右键Windows、Mac任务栏的鲸鱼关闭,Linux停止docker服务)然后启动它,会发现容器依然会启动运行(浏览器输入localhost:8082)。

env

在代码中一些参数是放在配置文件中,但还有一些参数是放在系统中,那就是“环境变量”。

容器当然不能直接读取主机的环境变量,但是我们可以通过启动参数--env来进行设置,缩写为-e

workdir

可以指定容器内命令的默认执行目录,一般设置为源码目录,这样进入容器后进行操作不需要再通过cd命令切换了。缩写形式为-w

docker run --name web4 -d --publish 8082:80 --volume C:web:/usr/share/nginx/html --workdir /usr/share/nginx/html --restart always nginx

rm

容器可不光可以运行我们的应用,还可以当作工具使用~例如:

  • 解压工具。利用ubuntu镜像启动一个容器,然后执行tar命令压缩/解压文件,然后通过共享目录存储到本机。

  • 编辑器。利用ubuntu镜像启动一个容器,然后用vi编辑器编辑文件。

  • 其它调试工具...

对于这样的工具可能“用完即走”,希望操作完成之后自动删除,那么--rm参数可以满足需求,当我们退出容器时该容器会自动删除,但是注意不能和-d参数同时使用。


本书地址:https://yalishizhude.gitbooks.io/docker-book

更多web技术内容请关注公众号“web学习社”

results matching ""

    No results matching ""