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安装awvs_docker版本

    docker安装awvs_docker版本前提:安装了docker(docker安装教程)在docker中安装dwvs#1pull拉取下载镜像dockerpullsecfa/docker-awvs#2将Docker的3443端口映射到物理机的13443端口dockerrun-it-d-p13443:3443secfa/docker-awvs##如果有报错重启docker后再重复上一步dockerservicedockerrestart或systemctlrestartdocker

    2022年9月22日
  • docker 离线安装_docker 离线安装

    docker 离线安装_docker 离线安装docker离线安装方法下载地址:https://download.docker.com/linux/static/stable/x86_64/参考文档:https://docs.docker.com/engine/install/binaries/机房设备无法访问互联网原因,需要进行离线安装K8S生态周报|Docker和containerd全版本漏洞公布,近期在Docker中发现了一个影响所有版本的安全漏洞CVE-2022-24769,该漏洞已经在Docker最新的版本v20

    2022年9月26日
  • docker部署jenkins安装使用教程_docker安装python

    docker部署jenkins安装使用教程_docker安装python前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

    2022年7月29日
  • 群晖 docker 端口_群晖 l2tp

    群晖 docker 端口_群晖 l2tp最近群晖docker某个容器端口总是被扫描,系统自动封禁了很多IP,遂想更改端口,个人对Linux和docker非常不熟悉,只做记录,如有错误,欢迎指出流程分为以下几个步骤:停止容器修改端口映射重启docker停止容器首先用dockerps命令查看所有的容器名称和id例如容器ID为a1b2c3用dockerstopa1b2c3来停止容器修改端口映射修改端口映射主要在了两个文件hostconfig.json和config.v2.json下面是如何找到这两个文件的路径利用cd/v

    2022年10月18日
  • Docker安装Jenkins教程

    Docker安装Jenkins教程Docker安装Jenkins教程前言一、安装Jenkins1.下载Jenkins2.创建Jenkins挂载目录并授予权限3.启动Jenkins容器4.验证Jenkins容器是否启动二、浏览器访问Jenkins页面1.输入http://192.168.XX.XX:102402.获取管理员密码前言Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。提示:如果没有安装Docker,传送门在这里:链接:

    2022年5月15日
  • docker入门(利用docker部署web应用)[通俗易懂]

    docker入门(利用docker部署web应用)[通俗易懂]前言:本课程是在慕课网上学习第一个docker化的java应用课程时所做的笔记,供本人复习之用目录第一章什么是docker1.1docker的发展史1.2docker国内应用史1.3什么是Docker第二章了解docker2.1docker思想2.1.1集装箱2.1.2标准化2.1.3隔离2.2docker解决的问题2.2.1…

    2022年5月28日

发表回复

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

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