如何利用Linux容器实现可移植的应用部署
现在退出,然后再运行一次相同的Docker命令: root@78b96377e546:/# exit exit $ docker run -t -i ubuntu /bin/bash root@e5e9cde16021:/# hello bash: hello: command not found 怎么了?我们美丽的hello命令哪儿去了?事实上我们刚刚根据干净的Ubuntu镜像启动了一个新的容器。要 继续先前那个,我们必须把它提交到仓库中。我们退出这个容器,看看先前启动容器的ID是什么: $ docker ps -a ID IMAGE COMMAND CREATED STATUS PORTS e5e9cde16021 ubuntu:12.04 /bin/bash About a minute ago Exit 127 78b96377e546 ubuntu:12.04 /bin/bash 2 minutes ago Exit 0 docker ps命令能列出当前运行的容器,docker ps -a还会显示已经退出的容器。每个容器都有一个唯一的 ID,类似于Git提交哈希值。命令也列出了容器基于的镜像、运行的命令、创建时间、当前状态,以及容器暴 露的端口和与主机端口之间的映射。 上面那个是我们第二次启动的容器,不包含“hello”;下面那个是我们想重用的,所以我们提 交一下,再创建一个新的容器: $ docker commit 78b96377e546 zefhemel/ubuntu 356e4d516681 $ docker run -t -i zefhemel/ubuntu /bin/bash root@0d7898bbf8cd:/# hello Hello, world! 我用容器ID把容器提交到了仓库中。仓库类似于Git仓库,包含一或多个打了标签的镜像。如果像我一样没 有指定标签名称,标签会被命名为“latest”。运行docker images命令可以查看本地安装的所有 镜像。 Docker提供了一些基础镜像(比如ubuntu和centos),你也可以创建自己的镜像。用户仓库的命名模型和 Github的类似:Docker用户名后面跟一个斜线,然后再跟仓库名称。 前面创建Docker镜像的方式并不是特别正规,你可以试试。更简洁的方式是使用Dockerfile。 使用Dockerfile构建镜像 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |