如何进入、退出docker的container实现

1 启动docker服务

首先需要知道启动docker服务是:

service docker start

或者:

systemctl start docker

2 关闭docker服务

关闭docker服务是:

service docker stop

或者:

systemctl stop docker

3 启动docker某个image(镜像)的container(容器)

Docker的镜像称为image,容器称为container。

对于Docker来说,image是静态的,类似于操作系统快照,而container则是动态的,是image的运行实例。

比如,有一个image名称为ubuntu,那么比如现在我们启动这个image的container并且进入到这个container的bash命令行中:

docker run -t -i ubuntu /bin/bash

官网是这么说的:

  • docker run: runs a container.
  • ubuntu: is the image you would like to run.
  • -t: flag assigns a pseudo-tty or terminal inside the new container.
  • -i: flag allows you to make an interactive connection by grabbing the standard in (STDIN) of the container.
  • /bin/bash: launches a Bash shell inside our container.

理解很简单:

  • docker run:启动container
  • ubuntu:你想要启动的image
  • -t:进入终端
  • -i:获得一个交互式的连接,通过获取container的输入
  • /bin/bash:在container中启动一个bash shell

这样就进入container的内部了:

root@af8bae53bdd3:/#

如果有运行中的container,可以在container所在的外部操作系统中运行:

docker ps

查看到这个container。

如果想看到所有的container,包括运行中的,以及未运行的或者说是沉睡镜像,则运行:

docker ps -a

如果要退出就:

Ctrl-D

或:

root@af8bae53bdd3:/# exit

如果想再次打开这个container,运行:

docker start goofy_almeida

其中“goofy_almeida”是容器的名称。

4 进入container(容器)

4.1 使用“docker attach”命令进入

这个时候container运行在后台,如果想进入它的终端,则:

docker attach goofy_almeida

就可以了。

4.2 使用“docker exec -it”命令进入

使用“docker attach”命令进入container(容器)有一个缺点,那就是每次从container中退出到前台时,container也跟着退出了。

要想退出container时,让container仍然在后台运行着,可以使用“docker exec -it”命令。每次使用这个命令进入container,当退出container后,container仍然在后台运行,命令使用方法如下:

docker exec -it goofy_almeida /bin/bash
  • goofy_almeida:要启动的container的名称
  • /bin/bash:在container中启动一个bash shell

这样输入“exit”或者按键“Ctrl + C”退出container时,这个container仍然在后台运行,通过:

docker ps

就可以查找到。

5 退出container

输入:exit

或者按键:Ctrl + D

到此这篇关于如何进入、退出docker的container实现的文章就介绍到这了,更多相关docker container进入退出内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • docker 动态映射运行的container端口实例详解

    docker动态映射运行的container端口,最近做项目,对于docker动态映射运行的container端口的资料有必要记录下,以便以后在用到, Docker自带了EXPOSE命令,可以通过编写dockerfile加-p参数方便的映射Container内部端口,但是对于已经运行的container,如果你想对外开放一个新的端口,只能编辑dockerfile然后重新build,有点不太方便. 其实docker本身使用了iptables来做端口映射的,所以我们可以通过一些简单的操作来实现动态映

  • Docker学习之Container容器的具体使用

    容器是 Docker 又一核心概念. 简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境.对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用. 关于容器的操作主要有: 创建 启动 停止 导入导出 删除 等等 启动容器 有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态( stopped )的容器重新启动. 因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器. 新建并启动 所需要的命令主要为

  • 详解如何获取docker容器(container)的ip地址

    1. 进入容器内部后 cat /etc/hosts 会显示自己以及(– link)软连接的容器IP 2.使用命令 docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID> 或 docker inspect <container id> 或 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' c

  • 如何进入、退出docker的container实现

    1 启动docker服务 首先需要知道启动docker服务是: service docker start 或者: systemctl start docker 2 关闭docker服务 关闭docker服务是: service docker stop 或者: systemctl stop docker 3 启动docker某个image(镜像)的container(容器) Docker的镜像称为image,容器称为container. 对于Docker来说,image是静态的,类似于操作系统快照

  • 详解如何进入、退出docker容器的方法

    1 启动docker服务 首先需要知道启动docker服务是: service docker start 或者: systemctl start docker 2 关闭docker服务 关闭docker服务是: service docker stop 或者: systemctl stop docker 3 启动docker某个image(镜像)的container(容器) Docker的镜像称为image,容器称为container. 对于Docker来说,image是静态的,类似于操作系统快照

  • Docker中 container 和 image 的命名

    目录 1. 容器命名 使用 --name 自定义容器名称 2. image 命名 image 命名使用 --tag 或者 -t 1. 容器命名 创建容器时,如果不用 --name 指定名称,那么container的名称将自动生成. 使用 --name 自定义容器名称 docker run --name "node_server" -d -p 80:80 node_server_debug 可以看到生成的名称为node_server 的容器. PS D:\nodejs-app> d

  • 解决docker run 或者 docker restart 启动镜像就自动退出

    执行命令:docker run --name centos8 -d centos /bin/bash,通过docker ps查看正在运行中容器,找不到centos8. 通过docker ps -a查看发现,centos8容器已经处于停止状态了 [root@MiWiFi-R4A-srv server]$ docker run --name centos8 -d centos /bin/bash a770630ca865b3c3346a321a383f302ed22af9281be8482f4f4d

  • Docker动态给容器Container暴露端口操作

    查看Container的IP地址 docker inspect <container name or id>| grep IPAddress 查看Container的映射的端口 docker port <container name or id> eg. docker port d8dac7399647 docker port hfq-jedi-zxf-eden 用iptables查看容器映射情况 iptables -t nat -nvL iptables -t nat -nvL

  • docker 移除掉运行不正常的container操作

    本菜鸟在刚学习docker的时候遇到了这样的问题,记录一下, 当启动一个container的时候,docker ps 看到刚启动的容器有问题, 然后docker logs <container id> 才知道权限不够,未能创建目录.然后想启动,但是当前的container一直处于restarting ,然后docker stop 试了一下,返回成功,然后docker ps 当前container 依然存在,然后docker kill的时候提示容器未启动,docker -help 看了一下,do

  • 详解Docker创建支持ssh服务的容器和镜像

    1. 这里使用的centos作为容器,所以首先下载centos的images # sudo docker pull centos 2. 下载后运行一个centos的容器,这里使用centos6作为我测试的容器 # sudo docker run --name=centos-ssh -i -t centos:centos6 /bin/bash  3. 安装openssh-server服务软件包 # yum install openssh-server 4. 编辑sshd的配置文件/etc/ssh/

  • Docker 网络模式(四种)详细介绍

    Docker 网络模式 本文首先介绍了Docker自身的4种网络工作方式, Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理.然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分.因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求. 四种网络模式 我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: · host模式,使用--net=h

  • Docker定制容器镜像的2种方法(推荐)

    一.需求 由于在测试环境中使用了docker官网的centos 镜像,但是该镜像里面默认没有安装ssh服务,在做测试时又需要开启ssh.所以上网也查了查资料.下面详细的纪录下.在centos 容器内安装ssh后,转成新的镜像用于后期测试使用. 二.镜像定制 第一种方式(手动修改容器镜像) 1.先下载centos镜像 [root@docker ~]# docker pull centos 2.启动容器并进行配置 启动容器, [root@docker ~]# docker run -it -d --

随机推荐