docker 容易一运行就挂掉,还怎么编辑容器内的内容? docker run 直接执行容器的命令,立刻就挂掉了

2018-05-07 11:32:15 +08:00
 Event
5320 次点击
所在节点    问与答
23 条回复
wkd2234
2018-05-07 12:12:33 +08:00
试试这样 docker run -d <镜像> tail -f /dev/null,然后 exec 进去编辑或者挂载出来编辑。
20has
2018-05-07 12:19:15 +08:00
docker 监测主进程退出码为零就退出容器
ctro15547
2018-05-07 12:42:30 +08:00
容器内加一个循环定时 print 'hello'的脚本试试?
Event
2018-05-07 13:08:59 +08:00
@wkd2234 貌似没用。。。run 跑命令 就算 /bin/bash 都是直接按照 dockerfile 跑的。。然后直接挂掉了
Event
2018-05-07 13:09:13 +08:00
@ctro15547 跑不了进不去咋加
singer
2018-05-07 13:18:52 +08:00
还是再去看看 docker 的文档吧。
Docker 是需要一个进程一直在后台运行着才行。
一楼说的试试看吧
whileFalse
2018-05-07 13:35:18 +08:00
docker 镜像指定了 entrypoint 么?没指定的话用
docker run 镜像名 ping localhost
就行了。
Event
2018-05-07 13:37:35 +08:00
@whileFalse 貌似指定了?不管跑啥命令 都是他在跑自己的东西
whileFalse
2018-05-07 13:45:01 +08:00
@Event 别貌似,自己看看 Dockerfile。
用--entrypoint 覆盖一下就行了。
momocraft
2018-05-07 13:46:55 +08:00
编辑内容是一个 Y 问题。运行就挂是写 Image 阶段就应该解决的事。
Event
2018-05-07 13:47:42 +08:00
@momocraft 直接 pull 下来的。。
my101du
2018-05-07 13:55:08 +08:00
一楼正解,docker run 镜像,要有一个容器内的进程在后台保持持续运行(描述错误请专家指正)。一般我要进去编辑内容都用这个命令

```bash
docker run -d hello-world /bin/bash
```

或者使用 `-dit` 参数

```bash
docker run -dit hello-world
```
Event
2018-05-07 14:12:03 +08:00
@my101du
![QQ 截图 20180507141232.png]( https://i.loli.net/2018/05/07/5aefee250ff75.png)
没用哦 他还是跑了自己的命令
ETiV
2018-05-07 14:16:27 +08:00
英语对于开发人员来讲真的是不太高的门槛…

它让你指定 EULA=TRUE 的环境变量
Jeremial
2018-05-07 14:16:38 +08:00
docker run --rm -it hello-world sh
Jeremial
2018-05-07 14:17:50 +08:00
-d 和 -it 最好不要同时用. 用了-it, 就在启动命令上加上 sh 或者 bash
Event
2018-05-07 14:21:20 +08:00
@ETiV 我知道。但是我想知道如何来进入容器的控制台
刚接触 docker
lzjamao
2018-05-07 14:25:18 +08:00
命令 docker log 看 log?
Event
2018-05-07 14:27:36 +08:00
@lzjamao 见楼上的图
Jeremial
2018-05-07 14:41:32 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/452720

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX