建站广告赚钱,平面设计师工资现状,发帖推广百度首页,可以做宣传图的网站说说docker run的--detach 当我们使用了 docker的 run命令运行一个新容器#xff0c;然后也发现他端端正正的呆在我们的容器列表中#xff0c;但是就是无法使用 exec命令#xff0c;这是什么原因呢#xff1f; $docker docker ps -a
CONTAINER ID IMAGE …说说docker run的--detach 当我们使用了 docker的 run命令运行一个新容器然后也发现他端端正正的呆在我们的容器列表中但是就是无法使用 exec命令这是什么原因呢 $docker docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1c8a61e5e09b php:latest docker-php-entrypoi… 10 minutes ago Up 10 minutes php
如图我们看到已经存在了这个容器但如果这个时候使用exec就会报错既没有启动这个容器。
$docker start 1c8a61e5e09b
$docker exec -it 1c8a61e5e09b /bin/bash
Error response from daemon: www.smy1.com Container 1c8a61e5e09b is not running
但是如果我们继续使用start命令的话他就会提示该容器已经启动了那这又是什么原因呢
因为我们单独的使用run只会启动容器他会立即启动相应然后就自动消失。你在这个时候使用exec命令已经太迟了。 所以当我们启动容器的时候一定要加上--detach或者-d来保持容器在后台持续运行。那么我们重新来一次。
$docker run -d -P php:latest
e63e06b3e66alasjdblqibeiqj1c8a61e5e09be7b996ec58a66438ee4e12db7f4d85189b21
# exec命令
$docker exec -it e63e06b3e66a /bin/bash -c php --version
PHP 7.2.12 (cli) (built: Nov 16 2018 03:17:59) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies这样就可以解决问题了。