容器学习实验(2)——容器的快速启动方式

简介: 本文介绍了容器学习实验的基本操作和启动方法。详细说明了容器的启动步骤和注意事项,介绍了容器操作的基本方法和注意事项。通过本文的学习,读者可以掌握容器学习实验的基本技能和知识。

在上一个小节中我们介绍了docker容器创建的标准流程。而在实际操作过程中,使用标准步骤创建启动容器会比较繁琐,因此docker提供了更加简便的命令docker run。使用该命令时,docker会自动完成下载镜像,创建容器,启动容器的工作。

1.创建容器指定名称的容器

通过以下的一条命令,我们就可以完成下载busybox的容器镜像,创建名为busybox-1的容器,为了让容器可以在创建之后长期运行我们要使用-it参数,为了让容器在启动之后再后台运行,我们需要使用-d参数。在容器启动之后我们使用docker ps命令查询正在运行的容器。

执行命令如下:

docker run -itd --name ubuntu-2 ubuntu
docker ps -a

image.png

2.操作已经创建的容器

使用-d参数创建容器之后,容器在后台运行,前台的命令行仍然指向宿主机。为了能狗通过命令行操作容器,我们可以使用

docker exec

命令在ubuntu-2容器上启动bash控制台程序,从而对容器进行操作。

执行命令如下:

docker exec -it ubuntu-2 bin/bash

命令执行之后提示行提示符发生了改变。这说明当前用户所操作的已经是容器中的操作系统。

image.png

3.创建一次性容器

上面我们为大家介绍的常见的容器创建方法,如果用户在使用docker run创建容器的时候,如果不使用-d参数。则启动容器成功之后,会自动进入容器操作系统控制台。但是此种方法进入容器操作系统之后,如果使用exit退出,容器会被关闭。因此此种方法只适用通过容器中执行一些临时性的操作时使用。

接下来我们创建一次性容器,并且在一次性容器退出之后使用docker ps -a查看容器,当我们使用docker ps时,只会列出正在运行的容器,而使用了-a参数之后,会列出包括了正在运行的和已经退出了的各种状态的容器。

执行命令如下:

docker run -it --name temp ubuntu
exit

image.png

docker ps -a

image.png

4.安装容器命令行工具

docker run -it --name ubuntu-3 ubuntu

接下来再通过

lsb_release

查看操作系统的状态。会显示命令无法找到,原因是通过容器安装的ubuntu属于极简版本,没有安装非必要的命令。为了能在容器虚拟机中执行常用的操作。

image.png

对于ubuntu镜像的容器,我们可以使用apt-get命令来安装常用命令。接下来我们使用apt-get install来安装lsb_release, ifconfig,vim三个工具。需要注意的在使用apt-get install之前,需要首先使用apt-get udpate来更新本地资源库。另外就是此步骤受网络速度影响可能会有比大的延迟。

执行命令如下:

apt-get update
apt-get install -y lsb-core net-tools vim --fix-missing

会依次下载很多依赖组件。在容器中体验安装命令后,使用exit退出容器。

在docker中,传统的ubuntu或者centos镜像所包含的命令数量都非常少,每次使用时都需要手动安装相关命令非常不方便,因此在实际使用docker时,我们经常使用busybox镜像来作为基础镜像。

接下来我们尝试创建busybox镜像,要注意的时,为了保证镜像体积,busybox镜像中并不包括bash命令,而是使用了替代的sh命令。因此我们创建busybox镜像的命令也需要做调整。

docker run -itd --name busybox-1 busybox
docker exec -it busybox-1 sh

image.png

容器创建成功之后,我们尝试ifconfig和vi命令发现已经内置在容器之中,不过需要注意的时busybox镜像并没有包含apt-get或者yum等自动包安装工具。因此和ubuntu或者centos镜像相比,安装新工具会比较繁琐。

执行命令如下:

ifconfig
vi a.txt

image.png

体验完busybox镜像的使用后,我们执行exit退出继续下面操作。

相关文章
|
3月前
|
存储 算法 Java
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)(中)
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)
51 0
|
2月前
|
存储 安全 Java
容器【基本使用、索引操作、并集、交集、差集】(二)-全面详解(学习总结---从入门到深化)
容器【基本使用、索引操作、并集、交集、差集】(二)-全面详解(学习总结---从入门到深化)
34 0
|
3月前
|
分布式计算 Java Linux
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
Docker 是一套构建在 Linux 内核之上的高级工具,旨在帮助开发人员和运维人员更轻松地交付应用程序和依赖关系,实现跨系统和跨主机的部署。使用安全且轻量级的容器环境来实现这一目标。容器可以手动创建,也可以通过编写 Dockerfile 自动创建。开发人员和运维人员可以将应用程序及其依赖打包到容器中,实现应用程序的可移植性和环境一致性。
120 5
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
|
2月前
|
存储 算法 安全
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)
27 0
|
3月前
|
存储 运维 Linux
精彩推荐 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)
在使用Docker时,管理维护工作可能会显得复杂。然而,实际上,Docker提供了许多便捷且人性化的工具,这些工具的使用技巧可以大大简化维护工作,并提升效率。通过掌握这些技巧,你不仅能够更轻松地管理Docker环境,还能展现出专业的能力。接下来我们就给大家介绍一下对于我在工作当中对于Docker容器使用的技术实战总结
48 2
精彩推荐 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)
|
3月前
|
存储 容器
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)(下)
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)
19 0
|
3月前
|
存储 算法 安全
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)(上)
容器【双例集合、TreeMap容器的使用、 Iterator接口、Collections工具类】(四)-全面详解(学习总结---从入门到深化)
20 0
|
3月前
|
存储 安全 索引
容器【容器介绍、Set接口介绍、 HashSet容器的使用、TreeSet容器的使用】(三)-全面详解(学习总结---从入门到深化)
容器【容器介绍、Set接口介绍、 HashSet容器的使用、TreeSet容器的使用】(三)-全面详解(学习总结---从入门到深化)
14 0
|
3月前
|
存储 安全 索引
容器【基本使用、索引操作、并集、交集、差集】(二)-全面详解(学习总结---从入门到深化)(下)
容器【基本使用、索引操作、并集、交集、差集】(二)-全面详解(学习总结---从入门到深化)
45 1
|
3月前
|
Java 索引 容器
容器【基本使用、索引操作、并集、交集、差集】(二)-全面详解(学习总结---从入门到深化)(上)
容器【基本使用、索引操作、并集、交集、差集】(二)-全面详解(学习总结---从入门到深化)
49 0

热门文章

最新文章