容器Docker的使用

本文详细介绍了如何使用Docker进行容器的操作,包括创建、启动、终止、进入容器执行操作、删除容器以及通过导入导出来实现容器迁移。通过`docker create`、`docker start`、`docker run`等命令进行容器的生命周期管理,并展示了如何通过`docker attach`、`docker exec`或`nsenter`进入容器进行交互。最后,讨论了如何导入和导出容器,以及使用Docker Hub和私有仓库管理镜像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

容器是docker另一个核心概念。简单的说,容器是镜像的一个运行实例。所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层,容器就是独立运行的一个或一组应用以及他们所必须的运行环境,包括文件系统、系统类库、shell环境等。本节将具体介绍围绕容器的重要操作,包括创建一个容器、启动容器、终止一个容器、进入容器内执行操作、删除容器和通过导入导出容器来实现容器迁移。

1、创建容器

1)新建容器

可以使用docker create命令新建一个容器,例如:

[root@localhost ~]# docker create -it ubuntu:latest

3601134b939893cf55191cf6ccc727f03fcdbff527a6c71f153c43dc228ced1d

[root@localhost ~]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

3601134b9398 ubuntu:latest "/bin/bash" 5 seconds ago Created nostalgic_haibt

 

-t:让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上。

-i:让容器的标准输入保持打开(即交互式)。

还可以使用--name给容器起个形象的名称。

 

2)启动容器

使用docker create命令新建的容器处于停止状态,可以使用docker start命令来启动它。

[root@localhost ~]# docker create -it --name dream_king ubuntu:latest

88d3c971729578402844c90ac7d93a950bb632f72ec46050e0e3d9976c483fa8

[root@localhost ~]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

88d3c9717295 ubuntu:latest "/bin/bash" 3 seconds ago Created dream_king

[root@localhost ~]# docker start dream_king

dream_king

[root@localhost ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

88d3c9717295 ubuntu:latest "/bin/bash" About a minute ago Up 25 seconds dream_king

 

3)新建并启动容器

可以直接新建并启动容器,所需命令主要为docker run,等价于先执行docker create命令,在执行docker start命令。下面的命令输出一个”Hello world“,之后终止容器。

[root@localhost ~]# docker run -it ubuntu:14.04 /bin/echo "hello world"

hello world

这跟在本地直接执行/bin/echo 'hello world'几乎感觉不出任何区别。

当利用docker run来创建容器时,Docker在后台运行的标准操作包括:

  • 检查本地是否存在指定的镜像,不存在就从公有仓库下载
  • 利用镜像创建并启动一个容器
  • 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
  • 从网桥的地址池配置一个IP地址给容器
  • 执行用户指定的应用程序
  • 执行完毕后容器被终止

 

下面的命令则启动一个bash终端,允许用户进行交互。

在交互模式下,用户可以通过所创建的终端来输入命令,例如:

容器的核心为所执行的应用程序,所需要的资源都是应用程序运行所必须的。除此之外,并没有其他的资源。可以在伪终端中利用ps或top来查看进程信息。

可见,容器中仅运行了指定的bash应用。这种特点使得Docker对资源的利用率极高,是货真价实的轻量级虚拟化。

如果我们这个时候我们正常退出,输入exit或者Ctrl+d命令后,容器就自动处于退出(Exited)状态了。docker ps -a查看容器处于Exit状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值