说说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

这样就可以解决问题了。

相关推荐
梦白.4 小时前
Python的容器类型
运维·python
AlfredZhao6 小时前
用Docker安全驯服OpenClaw,并打通社交软件
docker·飞书·openclaw
tuotali20266 小时前
天然气压缩机技术2026,高可靠性长周期运行与智能运维融合路径
运维·python
姚不倒6 小时前
三节点 TiDB 集群部署与负载均衡搭建实战
运维·数据库·分布式·负载均衡·tidb
gpio_016 小时前
自建gitlab服务器并用sakurafrp穿透
运维·服务器·gitlab
k7Cx7e6 小时前
Debian执行ssh root@localhost 提示认证失败
运维·debian·ssh
闻道且行之6 小时前
Nginx 安装、做成服务及 HTTPS 配置全流程
linux·运维·nginx·https
人工智能训练6 小时前
Qwen3.5 开源全解析:从 0.8B 到 397B,代际升级 + 全场景选型指南
linux·运维·服务器·人工智能·开源·ai编程
蜕变的小白6 小时前
Linux系统编程-->UDP编程:C/S模型实战详解
linux·运维·网络协议·udp
FIT2CLOUD飞致云6 小时前
里程碑丨JumpServer开源堡垒机GitHub Star数突破30,000个!
运维·开源·堡垒机