Docker 学习之路 – 镜像操作

/ 0评 / 0

上次部署了环境,我们试试从命令获取镜像,只要是Linux,就可以用Linux相关的镜像?

docker pull ubuntu:16.04

运行这个Ubuntu里面的bash玩玩.

docker run -it --rm ubuntu:16.04 bash

神奇呢,果然变成Ubuntu了.

解释下命令:

当然,上节我们才装了个管理工具,管理工具也是可以装镜像的.尝试部署一个Web服务.绑定在公网的1080和10443端口看看.太简单了,连命令都不用打.

竟然这么快就好了.

除了从图形控制台看之外,还可以在命令看镜像...

这里看到的空间,是实际消耗,在Docker Hub看到的是压缩大小.还可以用下面命令查看数据卷等占用.

docker system df

也许用一段时间之后,这里数据就变了.

把现在的Nginx镜像关闭,用docker rm或者控制台都可以.然后用命令启动一个nginx,这次我就要80端口了.

docker run --name webserver <span class="hljs-_">-d</span> -p 80:80 nginx

用下面命令进入容器.

docker <span class="hljs-built_in">exec</span> -it webserver bash

简单地改变了主页内容.

确实改变了.

实际上,修改的这些文件,是独立于容器的包的,他在储存层.用过git都知道diff这玩意.我们不妨也diff下这个docker.

竟然多了这么多文件.当然,docker也是可以commit保存内容的.

docker commit --author <span class="hljs-string">"TaterLi <admin@lijingquan.net>"</span> --message <span class="hljs-string">"modified index html"</span> webserver helloweb:v1

再用docker image ls看看有什么Image.

哈,我们可以启动我们的Image,映射到81端口.

docker run --name web2 -d -p 81:80 helloweb:v1

目标完成(PS,玩着玩着,突然被墙,又换了一个IP...):

但是,我们commit了很多我们不需要的东西啊.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注