首页 > 百科 正文
docker关闭容器命令以及关闭所有docker容器

时间:2023-11-15 作者:佚名

docker进入容器 之后怎么退出

解决方法:

1、安装Docker 借助apt-get命令。

2、$ sudo apt-get install docker.io 为了允许非根用户也可以运行Docker,将你自己添加到docker群组。下面这个命令会允许当前用户运行Docker,无需根用户权限。

Docker 容器操作退出后进入解决办法:

1、nsenter 可以访问另一个进程的名字空间。nsenter 要正常工作需要有 root 权限。 很不幸,Ubuntu 14.4 仍然使用的是 util-linux 2.20。安装最新版本的 util-linux(2.24)版,请按照以下步骤:

2、从util-linux版本2.23开始,nsenter工具就包含在其中。它用来访问另一个进程的名字空间。nsenter要正常工作需要有root权限。

如何控制docker里的linux系统

您可以使用Docker CLI工具来控制Docker容器内的Linux系统。您可以执行以下步骤来控制容器:

启动容器:通过运行 docker run 命令启动容器。

进入容器:使用 docker exec 命令进入正在运行的容器。

执行命令:在容器内执行Linux命令,如 ls,cat,apt-get 等。

停止容器:使用 docker stop 命令停止正在运行的容器。

删除容器:使用 docker rm 命令删除不再需要的容器。

这些是控制Docker容器的基本步骤。更多信息,请查看Docker官方文档。

Docker 镜像、容器命令

镜像-容器的模板-静态的-打包好的-使用的时候创建容器

du -sh *

[hs@cs007 hs]$ du -sh *

0 app

80K backup

574M centos-ssh-jdk.tar

8.0K dgw-agent

docker container prune:清理所有停止运行的容器(exited)

docker image prune:清理所有悬挂(

)镜像

docker system prune:清理磁盘,删除关闭的容器、无用的数据卷和网络,-a:可以将没有镜像都删掉

docker rmi -f 3}') :删除镜像名称或标签为

的镜像

docker rmi -f 1}'):删除异常停止的docker容器

sync; echo 1 > /proc/sys/vm/drop_caches

docker菜鸟教程是什么?

1、Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。

容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。 在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如今在微服务架构越来越流行的情况下,微服务+Docker的完美组合,更加方便微服务架构运维部署落地。因此这也是为什么,现在那么多朋友都需要入门Docker的原因。

2、Docker的优势归结起来,不外乎四点,更快速的交付和部署;更高效的虚拟化;更轻松的迁移和扩展;更简单的管理。

3、常用命令分享

拉取docker镜像

docker pull image_name

查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下:

docker images

删除镜像

docker rmi

或者 docker rmi b39c68b7af30

查看当前有哪些容器正在运行

docker ps

查看所有容器

docker ps -a

启动、停止、重启容器命令:

docker start container_name/container_iddocker stop container_name/container_iddocker restart container_name/container_id

后台启动一个容器后,如果想进入到这个容器,可以使用attach命令:

docker attach container_name/container_id

docker关闭容器命令(关闭所有docker容器)

删除容器的命令:

docker rm container_name/container_id

查看当前系统Docker信息

docker info

从Docker hub上下载某个镜像:

docker pull centos:latestdocker pull centos:latest Docker

Docker stop或者Docker kill为何不能停止容器

docker为什么容器启动不了

1:为我们的容器创建第一个镜像

# 以 centos 镜像作为基础镜像,我们启动自己的容器并在其中执行/bin/bash命令

# 注:-t -i 参数用于创建一个虚拟的命令行。

sudo docker run -t -i centos /bin/bash

现在我们已经成功的运行了自己的第一个容器,并且进入到容器的命令行界面中。在容器中,我们执行下面的命令:

yum -y update # 更新软件包

yum install which # 安装which命令

docker关闭容器命令(关闭所有docker容器)

yum install git # 安装Git

安装完成后,按 Ctrl + d 来退出容器的命令行。

# 执行sudo docker ps -a,可以看到被我们终止的容器

CONTAINER ID IMAGE COMMAND CREATED……

da9031d3568f centos:6.4 /bin/bash 5 minutes ago…..

把我们所做的改变提交到一个新的容器:

# 这里我们创建一个自己的基础容器,容器中安装好了文章中所需的常用工具。读者的容器 id 可能与文章中的有所不同,以上一步 docker ps -a 的结果为准。

sudo docker commit da90 custom/base

容器成功提交后,执行 sudo docker images ,我们会看到刚才提交的容器(如下面的结果所示)。我们就以这个容器为基础容器,再来创建一个新的容器。

REPOSITORY TAG IMAGE ID CREATED

custom/base latest 05b6cecd370b 2 minutes ago

centos 6.4 539c0211cd76 10 months ago

centos latest 539c0211cd76 10 months ago…

步骤2:创建新的容器,并安装 apache

# 以 custom/base 容器为基础,运行一个新的容器。

sudo docker run -t -i custom/base /bin/bash

# 安装 httpd

yum install httpd

步骤3:再次提交新的容器

按 Ctrl + d 来退出容器的命令行,然后执行命令:

# 这个命令会把步骤2中我们安装 httpd 带来的改变提交到新的名为 custom/httpd 的容器镜像中。你的容器 id 可能会和文章中有所不同,以 sudo docker ps -a 命令的结果为准。

sudo docker commit aa6e2fc0b94c custom/httpd

你应该已经发现了,我们创建了一个带有 http 服务器并可以复用的容器镜像。你可以根据这种思想,为自己所需的每个组件都创建一个容器,然后把这些容器复用于开发环境或者生产环境。

步骤7:运行 http 服务器

# -v will Mount a volume from VM to the container which was also shared from host to Vagrant VM.

# -v 参数把主机共享给虚拟机的一个卷挂载到容器中

# -p forward VM port 80 to container port 80; VM port 80 is mapped to host port 8080 in Vagrantfile

# -p 参数把虚拟机的80端口映射到容器的80端口;虚拟机的80端口在 Vagrantfile 中被绑定到主机的8080端口,也就是:主机8080->虚拟机80->容器80

sudo docker run -t -i -p 80:80 -v /vagrant/htdocs:/var/www/html custom/httpd /bin/bash

# 启动 Apache

apachectl -k start

Docker:容器管理(启动参数,查看容器和日志,进入和修改容器)

摘要: Docker

容器是一个精简版的操作系统,一般一个容器只运行一个应用,容器通过镜像创建,使用 docker run 命令创建,容器起到了 隔离 作用,容器和容器之间独享空间和网络等

容器的基本操作包括创建(启动),停止,重启,查看,检查等,容器通过镜像创建,使用 docker run 命令创建,需要指定run参数,镜像名,容器执行命令,语句格式如下

在实际使用中启动一个镜像,例如

-e 设置环境变量,格式是 -e k1=v1 -e k2=v2 ,使得在docker镜像中的程序能够直接访问到环境变量,同时可以作为配置参数放在docker run启动镜像的时候设置,而不是写死在dockerfile在build的过程中,-e和dockerfile中的 ENV 变量作用相同,当变量重名时-e替换ENV,下面测试一些-e参数,在Dockerfile指定环境变量

直接构建成容器

开启一个终端启动容器内部,打印指定的环境变量a

此时在run指令中增加-e设置环境变量,可见-e替换了Dockerfile中指定的环境变量

因为一个镜像可以启动多个容器,所以可以通过设置不同-e达到设置不同配置参数的目的,比如下一个例子在Dockerfile中设置和将环境变量写入yaml文件再供Python调用,执行的内容为打印yaml配置文件的参数内容,比如下面这个例子先看下目录结构

其中config.yml是一个空配置文件,在run.sh中先使用echo写入追加配置参数到config.yml在执行Python脚本

Dockerfile中启动run.sh脚本作为容器执行命令

在启动容器时,使用-e指定环境变量,在run.sh中echo将环境变量拿到和写入配置文件,测试多次以不同的配置参数启动容器如下

-v 设置挂载运行,将宿主机当前目录下的文件挂载到容器中/home目录下,例如

如果挂载的目录和Dockerfile中的COPY的目录不一致, -v会替代COPY或者ADD ,例如现在Docker中COPY一个文件到容器/home目录下

同目录下start.sh内容是打印1

构建镜像结束后,指定-v启动,起始挂载另外一个目录,目录下start.sh内容是打印2

docker run参数中最后的COMMAND会覆盖Dockerfile中指定的 CMD ,例如执行echo 2替换原始Dockerfile中的CMD echo 1,输出结果是2且执行完毕后退出

对于Dockerfile中的 ENTRYPOINT 指定的启动命令docker run的COMMAND不会覆盖,如果要覆盖Docker中的ENTRYPOINT需要指定docker run中的 --entrypoint 参数,格式是

测试一个Dockerfile输出1

在docker run中使用--entrypoint覆盖Dockerfile中的ENTRYPOINT

容器启动后通过 docker ps 或者 docker container ls 查看容器,可以增加额外参数比如 -a 显示所有容器,默认只显示运行的容器,可以增加 --no-trunc 参数使得显示结果不截断,例如

显示结果分别显示了容器的ID,镜像,执行命令,创建时间,状态,端口映射(宿主机->容器)和容器名称。对于已经运行的容器可以使用 docker stop 停止,如果在docker run时增加--rm参数则停止的容器保留不会自动删除,例如

docker关闭容器命令(关闭所有docker容器)

除了docker stop命令还有一种停止容器的命令 docker kill ,相比于docker stop,docker kill是 强制立即停止 ,而docker stop是先给了容器10秒(默认)的时间,使得容器有一定的时间处理、保存程序执行现场, 优雅的退出程序 ,例如

在容器停止之后可以使用 docker start 再启动一个停止的容器,例如

除此之外可以使用 docker restart ,此时容器可以使停止的也可以是在运行中的,例如

查看容器详情使用 docker inspect ,比如

在以上截取的内容中展示了容器详情,包括容器id,创建时间,执行命令和参数,执行状态,容器pid,落脚点,环境变量,网络设置,端口映射等,也可以使用Go语言风格输出指定的详情,比如分别只看容器的pid和容器的执行命令

容器是一个操作系统,可以进入这个操作系统查看容器的运行情况,有多种方式进入容器,其中主要是使用 docker exec 进入容器,在一个运行中的容器中执行一个命令,使用 -it 并带有 /bin/bash 命令就可以进入容器,比如

除了/bin/bash也可以是其他命令挂载exec后面则可以直接对一个运行中的容器执行命令,比如查看容器的进入落脚点路径,容器中的内存情况

当容器以后台 -d 运行时,日志运行在容器内部,可以进入容器内部查看日志,也可以使用 docker logs 查看日志,以一个flask api接口的容器为例,日志写入文件,同时也会输出在flask的控制台

创建Dockerfile以及构建镜像,启动容器

启动一个脚本不断请求api接口

进入容器内部查看日志

另一种方式是直接使用 docker logs 命令,比如使用 -f 追踪输出,并且从最后的第1行开始输出

此时宿主机的logs目录下为空,容器中的logs目录下存在detail.log文件,如果使用 -v 将宿主机目录挂载到容器作为容器写入的目录,则容器中数据的变动会同步到本地,这样可以直接在本地查看日志,修改容器启动为 -v 挂载的形式

此时本地logs目录下开始产生日志,且这个日志和容器内的logs目录下一致

如果容器内的内容改变了,此时删除容器从镜像重新启动容器则改动的内容将不会存在,如果相对修改过的容器保留下来则可以从容器生成新的镜像,先测试以下容器内修改在删除的容器后将不再生效,在已有容器中使用pip安装Python包

此时退出容器,并且删除容器,最后从镜像重新生成容器

此时进入容器检查,并不存在pymongo包

如果要容器变化保存下来需要以这个新容器生成一个镜像,使用 docker commit ,语法如下

以新安装pymongo的容器为例,对新容器使用docker commmit

新生成的镜像叫做xiaogp/my_image_test:v2

从新镜像启动容器并进入容器查看存在新安装的pymongo

本文信息为网友自行发布旨在分享与大家阅读学习,文中的观点和立场与本站无关,如对文中内容有异议请联系处理。

本文链接:https://www.paituo.cc/baike/1318086.html

  • 小编推荐

    表示丰收的词语有什么

    表示丰收的词语有什么,简介如下1、果实累累:果实连续成串; 2、穰穰满家:形容获得丰收,粮食满仓; 3、年丰时稔:指年成好,庄稼大丰收; 4、麦穗两歧:比喻年成好,粮食丰收; 5、硕果累累:...

    工艺美术运动

    工艺美术运动,简介如下关于工艺美术运动,工艺美术运动名词解释这个很多人还不知道,今天源源来为大家解答以上的问题,现在让我们一起来看看吧!工艺美术运动 工艺美术运动名词解释 1、概述:...

    风水光炎先生简历以及看风水的大师

    风水光炎先生简历(看风水的大师),简介如下蚁姓!姓蚁,一群刻苦耐劳的蚁姓人!蚁姓多分布于闽、粤、台及泰国,人口稀少。广东省汕头市澄海区溪南镇和东里镇,南畔洲村,外蚁村,内厝村和上岱美村是蚁姓传统聚居地。...

    青风藤的功效和作用

    青风藤的功效和作用,简介如下大家好,今天来为大家解答关于青风藤的功效和作用这个问题的知识,还有对于青风藤的功效与作也是一样,很多人还不知道是什么意思,今天就让我来为大家分享这个问题,现在让...

    厨卫防水价格多少钱一平

    厨卫防水价格多少钱一平,简介如下厨房、卫生间和阳台都是用水比较多的空间,要做好防水处理,这是比较重要的环节,直接影响了日后生活的舒适性,防水工程价格是大家比较关注的话题,有包工包料和只包工的装...

    潜艇紧急退管

    潜艇紧急退管,简介如下大家好,关于潜艇紧急退管很多朋友都还不太明白,今天小编就来为大家分享关于潜艇退管是什么意思的知识,希望对各位有所帮助!蛙人从潜艇的哪里爬出来? 蛙人进出潜艇有几...

    女人说乖乖什么意思

    女人说乖乖什么意思,简介如下大家好,今天来为大家解答关于女人说乖乖什么意思这个问题的知识,还有对于女人说乖乖什么意思呀也是一样,很多人还不知道是什么意思,今天就让我来为大家分享这个问题,现...

    贵阳废钢材价格今日报价表

    贵阳废钢材价格今日报价表,简介如下本篇文章给大家谈谈贵阳废钢材价格今日报价表,以及贵州废钢价格对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。500型混凝土搅拌机 *** 上为什么价格都不...