说说docker run的--detach

说说docker run的--detach

当我们使用了 dockerrun命令运行一个新容器,然后也发现他端端正正的呆在我们的容器列表中,但是就是无法使用 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

这样就可以解决问题了。

相关推荐
j_xxx404_6 分钟前
Linux:自主shell命令行解释器附源码
linux·运维·服务器
lpruoyu27 分钟前
【Docker进阶-01】Docker隔离原理与可视化界面-Portainer
docker
何以不说话28 分钟前
堡垒机jumpserver
运维·sql
开开心心就好28 分钟前
开源免费高速看图工具,支持漫画大图秒开
linux·运维·服务器·安全·ruby·symfony·1024程序员节
舰长11531 分钟前
使用 kubeadm搭建生产环境的单 master 节点 K8S 集群(一)
云原生·容器·kubernetes
小Pawn爷1 小时前
13.virtualbox安装ubuntu
linux·运维·ubuntu
乾元1 小时前
暗网情报:自动化采集与情感分析在威胁狩猎中的应用
运维·网络·人工智能·深度学习·安全·架构·自动化
袁煦丞 cpolar内网穿透实验室1 小时前
Blackbox Exporter告别用户投诉!从外部揪出服务断连问题: cpolar 内网穿透实验室第 701 个成功挑战
运维·服务器·远程工作·内网穿透·cpolar
砚上有墨1 小时前
问题记录:云平台计算节点内存故障,热迁移失败导致系统重启。
linux·运维·云计算
bloglin999991 小时前
ubuntu系使用root用户登录显示密码错误
linux·运维·ubuntu