入手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 命令结束。

时间: 2024-08-06 07:55:31

入手Docker容器注意事项:命令结束容器退出的相关文章

docker之容器管理常用命令篇

常用命令如下表: 选项 描述 ls 列出容器 inspect 查看一个或多个容器详细信息 exec 在运行容器中执行命令 commit 创建一个新镜像来自一个容器 cp 拷贝文件/文件夹到一个容器 logs 获取一个容器日志 port 列出或指定容器端口映射 top 显示一个容器运行的进程 stats 显示容器资源使用统计 stop/start 停止/启动一个或多个容器 rm 删除一个或多个容器 1.ls - 列出容器 只列出正在运行的容器:[[email protected] ~]# dock

Docker的ubuntu镜像安装的容器无ifconfig和ping命令的解决

Docker的Ubuntu镜像安装的容器无ifconfig命令和ping命令 解决: apt-get update apt install net-tools       # ifconfig apt install iputils-ping     # ping

12、《每天5分钟玩转Docker容器技术》学习-Docker命令之容器操作命令

a) Docker ps 命令 docker ps : 列出容器 docker ps [OPTIONS] -a :显示所有的容器,包括未运行的. -f :根据条件过滤显示的内容. --format :指定返回值的模板文件. -l :显示最近创建的容器. -n :列出最近创建的n个容器. --no-trunc :不截断输出. -q :静默模式,只显示容器编号. -s :显示总的文件大小. l 实例 列出所有在运行的容器信息. 列出最近创建的5个容器信息. 列出所有创建的容器ID. b) Docke

11、《每天5分钟玩转Docker容器技术》学习-Docker命令之容器生命周期管理

a) Docker create 命令 docker create :创建一个新的容器但不启动它 docker create [OPTIONS] IMAGE [COMMAND] [ARG...] -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项: -d: 后台运行容器,并返回容器ID: -i: 以交互模式运行容器,通常与 -t 同时使用: -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用: --name="nginx-lb":

Docker命令和容器名称的自动补齐

Docker命令和容器名称的自动补齐 问题描述: 在使用docker命令在进行容器相关操作(如停止.启动.重启.查看日志等)操作的时候容器名称不自动补全. Linux补全命令机制 Linux系统许多命令都会提供该命令自身的命令补齐脚本,在安装命令时会自动安装自动补齐脚本--如果有的话.该机制在Linux中被称为bash-complete.在/usr/share/bash-completion/completions目录下有许多命令自动补齐的脚本,可自行查阅.与docker有关的,有2个:dock

docker常用命令、镜像命令、容器命令、数据卷,使用dockerFile创建镜像,dockefile的语法规则。

一.docker常用命令? 1. 常用帮助命令 1.1 docker的信息以及版本号 /* docker info 查看docker的信息 images2 docker本身就是一个镜像. docker version 查看docker的版本号 */ 1.2 docker的启动,停止,重启,查看状态. // service docker start/stop/restart/status 二.镜像命令? 1. 列举出所有的镜像(本地镜像) /* docker images 所拥有的参数: dock

DOCKER 01:镜像和容器的基础命令使用

本文主要谈谈 docker 命令怎么使用的问题! 关于镜像的操作命令 已经知道,容器是镜像的运行的实例,所以想要运行一个容器,事先得拥有这个容器的镜像. 1. 使用页面搜索镜像: 在默认的注册点 docker hub,不管是官方还是非官方都上传了很多镜像: https://hub.docker.com 可以通过搜索指定的镜像名称找到对象的镜像仓库,如 nginx: 这里只是截图的一部分,可以看到第一个和后面的两个有区别,后面两个名字中间都有斜线. 这个斜线前面的是用户名,比如第二个,前面是 ng

docker常用脚本执行命令(批量删除所有镜像容器,)

批量删除所有镜像(none表示镜像的关键字) docker rmi $(docker images | grep "none" | awk '{print $3}') docker 批量删除所有容器 docker ps //查看所有正在运行容器 docker stop containerId //containerId 是容器的ID docker ps -a //查看所有容器 docker ps -a -q //查看所有容器ID docker stop $(docker ps -a -

docker之容器管理常用命令

docker container top nginx01 查看容器中运行的进程docker container exec -it nginx01 sh 连接到容器内部docker container commit bs busybox:v2 运行的容器bs 增加了内容请 如果想保存,可以用commit 重新生成一个镜像,不过一般不建议这么做 如果要改变镜像可以用dockerfile来改变,以后也会讲dockerfile的使用.docker container cp host_ip.txt bs: