docker重启后镜像消失_u盘安装iso原版镜像

docker重启后镜像消失_u盘安装iso原版镜像一、问题引入根据镜像启动容器,执行命令如下:dockerrun–namemycentos-dcentos,通过dockerps查看正在运行中容器,缺找不到mycentos容器。再次通过dockerps-a查看发现,mycentos容器已经处于停止状态了。二、原因Docker容器后台运行,就必须有一个前台进程.容器运行的命令如果不是那些一直挂起的命令(eg.运行…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、问题引入

根据镜像启动容器,执行命令如下:docker run –name mycentos -d centos,通过docker ps查看正在运行中容器,缺找不到mycentos容器。再次通过docker ps -a查看发现,mycentos容器已经处于停止状态了。

二、原因

Docker容器后台运行,就必须有一个前台进程.
容器运行的命令如果不是那些一直挂起的命令(eg. 运行top,tail等),就是会自动退出
这个是 docker 的机制问题,比如我们的 web 容器,以 nginx 和 fpm 为例, 
正常情况下,启动服务只需启动相应的 service 即可,例如:service nginx start && service php5-fpm start,但是,这样做, nginx 和 fpm 均以后台进程模式运行,就会导致 docker 前台没有正在运行的应用,so,容器会立即自杀,因为他觉得没事可做了。

三、解决方案

3.1 将要运行的程序以前台进程的形式运行

将要运行的程序以前台进程的形式运行,如果容器需要同时启动多个进程,那么也只需要将其中一个挂起到前台即可。 
比如上面所说的 web 容器,只需要将启动指令修改为:

service php5-fpm start && nginx -g “daemon off;”

3.2 投机方案

对于可能不知道怎么前台运行的程序,提供一个投机方案,只需要在启动的命令之后,添加类似于 tail top 这种可以前台运行的程序,这里推荐tail ,然后持续输出log文件即可。

service nginx start && service php5-fpm start && tail -f /var/log/nginx/error.log

再以上面所说的 web 容器为例,可以写成:

service nginx start && service php5-fpm start && tail -f /var/log/nginx/error.log
 

3.3 以centos/ubuntu为例

同3.1,在启动centos/ubuntu容器时,可以做一个手脚:做一个死循环,持续输出任意,这样容器不会认为没事可做而自杀了。

docker run -d centos /bin/sh -c “while true; do echo hello world; sleep 1; done”
1

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190696.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker 容器内部访问宿主机_docker访问宿主机文件

    docker 容器内部访问宿主机_docker访问宿主机文件在使用Docker部署应用时,Docker推荐的方式是将应用及其所依赖的服务(MySQL,Redis等)均使用Docker部署,并通过link或自定义网络相连接。但是,当应用所依赖的服务被安装在宿主机上时,我们需要让容器中的应用能够访问到部署在宿主机上的服务。本文将介绍实现这一目的的几种方案,并分析其优缺点。首先我们需要了解一些关于Docker网络的基础知识。Docker网络Docker提供…

    2022年8月20日
    62
  • 写一个 docker 打击一系列手册

    写一个 docker 打击一系列手册

    2022年1月2日
    33
  • docker(11)Dockerfile 中的COPY与ADD 命令[通俗易懂]

    docker(11)Dockerfile 中的COPY与ADD 命令[通俗易懂]前言Dockerfile中提供了两个非常相似的命令COPY和ADD,本文尝试解释这两个命令的基本功能,以及其异同点,然后总结其各自适合的应用场景。Build上下文的概念在使用dock

    2022年7月31日
    6
  • docker中Jenkins安装allure和使用,bash: allure: command not found

    docker中Jenkins安装allure和使用,bash: allure: command not found我的docker中的Jenkins是已经安装allure了的,但是jenkins提示:bash:allure:commandnotfound。原来是我是通过管理员进入jenkins容器安装了allure的,而jenkins是以普通用户去运行的,所以我又以普通用户登录安装allure还是提示:bash:allure:commandnotfound。因为每次jenkins启动都是不同的用户备注:docker中jenkins安装allure可以参考这个链接:https://mp.c

    2022年7月26日
    28
  • [开源夏令营][四] Docker remote API 之 镜像篇

    [开源夏令营][四] Docker remote API 之 镜像篇

    2021年12月1日
    55
  • docker卸载命令_删除docker

    docker卸载命令_删除docker删除容器(jenkins官网提供的安装方式,删除比较特殊,因为jenkins自己创建了数据卷,所以要删除数据卷)不然,就算删除了容器,再运行镜像,以前的配置还是删不掉,运行的还是以前的配置首先,关停并删除jenkins容器dockerstop容器iddockerrm容器id然后,查看数据卷(如果是用挂载目录方式安装的jenkins的话,就不需要执行下面的步骤了)dockervolumels发现一个jenkins_home的数据卷,删除数据卷dockervolume

    2022年9月7日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号