说说docker run的--detach
程序员文章站
2022-05-14 20:35:45
...
当我们使用了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: 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
这样就可以解决问题了。
上一篇: docker run --link的理解
下一篇: 03 docker run 使用
推荐阅读
-
docker run启动的容器挂掉了,数据怎么办
-
安装Docker时错误提示 "could not change group /var/run/docker.sock to docker: group docker not found"的解决方案
-
Docker run流程及镜像的基本命令详解
-
docker run启动的容器挂掉了数据怎么办
-
docker run启动的容器挂掉了,数据怎么办
-
Docker run 命令的使用方法详解
-
安装Docker时错误提示 "could not change group /var/run/docker.sock to docker: group docker not found"的解决方案
-
docker run -v 用户目录的权限配置
-
docker run --link的理解
-
说说docker run的--detach