docker学习2-容器:创建容器

容器

  容器是打包了应用和服务的环境。它是一个轻量级的虚拟机,每一个容器都由一组特定的应用和必要的依赖库组成。

容器的管理操作

容器的常见命令:查看、创建、启动、终止和删除等

查看指令详细帮助信息的方法,docker help或者man pages(例如man docker -run)

获取镜像

拉去一个最新的ubuntu镜像

使用docker images查看已有镜像

 

使用命令docker run -t -i ubuntu /bin/bash命令测试新获取的ubuntu镜像。命令的相关解释见下文

创建容器

有两个命令,一个是docker create,另一个是docker run 。二者的区别在于前者创建的容器处于停止状态,而后者不仅创建了容器,而且启动了容器。

 docker ps 查看正在运行的容器       docker ps -a 查看所有容器,包含未启动的容器

 想要让创建的容器立马进入运行状态,可以使用docker run命令,该命令等同于用docker create创建容器后在使用docker start启动容器。使用docker run命令可以创建两种类型的容器——后台型容器和交互型容器

交互型容器:运行在前台,通常会指定有交互的控制台,可以给容器输入,也可以得到容器的输出。关闭该容器的命令,在容器内部使用exit或者调用了docker stop、docker kill,容器会变成停止状态。

后台型容器:运行在后台,创建启动之后就与终端无关。即便终端关闭了,该后台容器也依然存在,只有调用了docker stop 或docker kill命令时才能够使容器变成停止状态。、

创建一个交互型容器

相关代码如下:

C:\Users\mrl>docker run -i -t --name=inspect_shell ubuntu /bin/bash
root@b9d82fc9c452:/#

由于已经存在ubuntu镜像,不会重新获取。

 命令解释:

-i和-t,前者用于打开容器的标准输入(STDIN),后者告诉Docker为容器建立一个命令行终端。这两个标志为我们和容器提供了交互shell,是创建交互型容器的基本设置。后面的--name标志为容器指定了一个名字,这是一个可选项。当没有这个选项的时候,Docker会为我们去一个随机的名字。接下来,我们告诉Docker使用哪个镜像去创建容器,这里使用的是ubuntu。ubuntu镜像是一个基础镜像,我们可以使用基础镜像(例如ubuntu、fedora、debin、centos等)作为创建自己镜像的基础。这里我们只是用基础镜像来启动容器,没有添加任何东西。最后,告诉Docker要在容器里面执行的命令、斌、bash。

root@b9d82fc9c452:/#

@前面的是我们在容器登录的用户root,后面的b9d82fc9c452是容器的主机名。可以使用ctrl+D或者exit命令推出该容器。容器停止不代表容器销毁,其实容器还在,只是不再是运行状态。

创建一个后台型容器

相关代码如下:

C:\Users\mrl>docker run --name daemon_while -d ubuntu /bin/bash -c "while true;do echo hello world;sleep 1;done"
df4fe160cc4b3f503cfa5c086ad4fb40148e05bed118103ad5f1ff32d522963c

C:\Users\mrl>

上面的命令没有像前面的容器那样关联到一个sehll,而是返回了一个容器ID后直接返回到了宿主机的命令提示符。我们可以通过docker ps命令,查看新建的容器是否在运行

现在让我们终止容器

 C:\Users\mrl>docker stop daemon_while

daemon_while

C:\Users\mrl>docker stop inspect_shell
inspect_shell

猜你喜欢

转载自www.cnblogs.com/l7planet/p/11412259.html
今日推荐