首页 > 代码库 > (四)运行第一个容器
(四)运行第一个容器
创建第一个容器:
创建一个容器很容易,我们使用docker run命令就可以完成,如下图:
docker run -i -t centos:6.6 /bin/bash
run命令是docker命令中的一个子命令,作用是运行一个容器
参数 | 说明 |
-i | 保持容器中的STDIN是打开的,也就是标准输入 |
-t | 为容器开启一个伪TTY终端 |
centos:6.6 | 这个是镜像名称,这里适用的是官方镜像,centos是仓库名称,6.6是标签。一个仓库可能有多个镜像,如果不指定具体标签(TAG),则默认会适用latest的,也就是仓库中最新的。 如果是适用非官方镜像他人或者你自己构建的镜像,这里的各式是 用户名/仓库名 如果第一次你不知道镜像仓库名称和标签,请访问 https://hub.docker.com/ |
/bin/bash | 容器启动后运行的程序,不是必须的 |
命令执行完毕后会自动进入容器中,正向上图显示的那样的命令提示符号是 root@3d55c5bf0886 ,这一串字符是你建立容器的ID,同时也是默认的容器主机名称,如下图:
如果使用--name参数可以设置容器的名字,但是容器ID和系统主机名还是随机生成的。
docker run命令运行的过程是这样的:
首先docker会检查本地的镜像是否包含centos:6.6,如果有就使用本地镜像,如果没有就连接官方的Docker Hub Registry去下载,如果找到就会下载然后保存到本机中,然后尝试使用该镜像创建一个容器,最后运行指定的命令。这个容器拥有自己的独立的文件系统、网络(默认为桥接网络)。
看下图,第一张为宿主机的目录内容,第二张为容器的目录内容,目录都是一样的,但是内容不同,这就证明文件系统是隔离的。
查看网络:
可以看到你会像使用普通Linux系统那样使用容器,同时默认使用了桥接网络。另外我们还可以安装软件
使用exit命令退出容器
一旦我们执行了exit命令,/bin/bash命令也就结束了,同时容器也停止了。但是容器还是存在的,可以通过下面的命令查看:
docker ps -a
如何重启启动一个容器:
使用下面的命令重新启动一个容器
docker start 容器名称/容器ID
我们看到 UP 标志,但是这个容器是后台运行的,那我们如何连接到这个容器的shell呢?
重新连接到运行中的容器:
必须要先启动一个容器,才能连接
docker attach 容器名称/容器ID
注意:运行命令后,会出现停滞的情况,其实不是停滞,你需要再次按一下回车才会进入到容器的命令提示符。当你再次执行exit后,容器会再次停止。
创建后台运行的容器:
如果需要长期运行容器,我们就要创建没有交互式会话的守护式容器,生产环境中基本都是这么运行运行的。我们使用下面的命令来后台运行容器:
使用-d参数来设置后台运行;--name的含义是设置一个容器名称,这样以后重启、删除就可以使用命令了。
docker run --name 容器名称 -d -i -t 镜像 /bin/bash
注意:上图创建容器后列出了一长串字符,这个是长UUID,一般我们使用短UUID或者容器名称来操作容器。
下面我们连接到这个BB容器
上面这个过程类似你先创建一个前台交互式容器,然后exit退出,然后在docker start启动。
本文出自 “小恶魔的家” 博客,请务必保留此出处http://littledevil.blog.51cto.com/9445436/1863552
(四)运行第一个容器