入手Docker容器注意事项:命令结束容器退出
在没有 docker 容器的时候,在终端(terminal)中运行 shell 命令,我们知道当终端退出时(比如关闭终端窗口或退出 ssh 会话),终端中执行的命令也会结束。所以,当我们在终端中执行持续运行的任务或服务时,我们需要让其跳出当前 shell 进程,在后台运行(比如以 daemon 方式运行)。
在最近刚接触 docker 容器时,我误以为 docker 容器是一个轻量级的虚拟机(vm),容器启动后,只要我不把容器关闭,可以在其中任意执行 shell 命令,想干啥就干啥。于是,遇到了容器启动后自动退出的问题,比如:如何让docker容器在执行shell命令后不退出运行。
后来明白了,docker 容器不是一个轻量级的虚拟机(vm),而是一个轻量级的终端(terminal):
1)它是一个只给你一次机会运行 shell 命令的终端
2)它是一个与其中运行的 shell 命令共存亡的终端(命令结束容器退出,命令运行容器运行)。
如果一个容器启动后不运行任何 shell 命令怎么办,可以通过 docker run -t 命令或 docker compose 文件中的 tty: true 配置解决。
如果一个容器启动后其中运行的 shell 命令会结束怎么办,想尽一切办法不让 shell 命令结束。
入手Docker容器注意事项:命令结束容器退出的更多相关文章
- Docker 入门指南——常用命令
前面已经介绍了 Docker 的安装方式,本文总结一下使用 Docker 的基本概念和常用命令. 基本概念 镜像 Image 镜像是一些打包好的已有的环境,可以被用来启动和创建容器 容器 Contai ...
- 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云
一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...
- Docker的ubuntu镜像安装的容器无ifconfig和ping命令的解决
Docker的Ubuntu镜像安装的容器无ifconfig命令和ping命令 解决: apt-get update apt install net-tools # ifconfig apt ...
- docker 容器管理常用命令
Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: create Create a new container 创建一个容器: ...
- Docker容器技术-基础命令
一.基础命令 1.运行一个镜像 [root@bogon ~]# docker run debian echo "Hello World" Unable to find image ...
- docker 安装与常用命令与常用容器(containers)环境
注意区别 container 与 image 的关系,container 的建立需要 image 的承载,也即 container 依赖 image,停止并删除了 container 并不会删除 im ...
- 进入docker容器并执行命令的的3中方法
进入docker容器并执行命令的的3中方法 docker exec nsenter docker attach "container" 建议使用nsenter, exec有 ...
- docker镜像、docker容器导入导出命令
一.docker镜像导入导出命令 导出命令: docker save -o <保存路径> <镜像名称:标签> docker save -o ./test.tar test:la ...
- Docker下构建centos7容器无法使用systemctl命令的解决办法
最近在使用docker 构建centos7 容器时,发现无法使用systemctl 命令.后来万能的百度解决了问题,随记之以备后用. 解决办法: docker run --privileged -it ...
随机推荐
- java.awt.headless 模式
1. 什么是 java.awt.headless? Headless模式是系统的一种配置模式.在系统可能缺少显示设备.键盘或鼠标这些外设的情况下可以使用该模式. 2. 何时使用和headless mo ...
- 【MySQL】MySQL视图创建、查询。
视图是指计算机数据库中的视图,是一个虚拟表.关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询需要将多个表连接起来进行查询任务.对于复杂的查询事件,每 ...
- MongoDB中的explain和hint提的使用
一.简介 这里简单介绍一下各个工具的使用场景,一般用mysql,redis,mongodb做存储层,hadoop,spark做大数据分析. mysql适合结构化数据,类似excel表格一样定义严格的数 ...
- Android Studio配置文件路径修改
用Android Studio进行Android开发已经成为趋势了,好的工具要用得称手也少不了好的调教,在Windows下更是如此.这里对Android Studio的相关配置文件的路径修改做下小结. ...
- 解决CentOS缺少共享库
# ./aapt dump bading ./tmp/app_xxxx.apk ./appt:error while loading shared libraries: libraries: libs ...
- js实现禁止pc端浏览器缩放和获取当前页面浏览器的缩放大小
众所周知:移动端页面禁止用户缩放界面只需加上<meta name="viewport" content="user-scalable=0">即可,但 ...
- emacs自动折行设置
- emacs自动折行 - 临时设置下 M-x `toggle-truncate-lines` - init.el 中添加 `(toggle-truncate-lines 1)`
- 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-10底层驱动之I2C
视频简介:该视频介绍iCore3应用开发平台中I2C通信的实现方法. 源视频包下载地址:链接:http://pan.baidu.com/s/1dF5Ssbn 密码:czw8 银杏科技优酷视频发布区:h ...
- Install elasticsearch-head: – for Elasticsearch 5.x
Running as a plugin of Elasticsearch Install elasticsearch-head:– for Elasticsearch 5.x:site plugins ...
- 导出表结构sql语句
-- C:/dba必需是已经存在的目录 -- create or replace directory UTL_DIR as 'C:\dba'; --用sys用户登录给要访问的用户指定访问目录的权限gr ...