Docker容器初体验

Docker安装请查看此文章:http://blog.51cto.com/wangxiaoke/2174103


Docker的帮助命令

Docker完成之后,我们先来简单的玩一下,Docker的所有命令都是以docker开头,后面跟着选项和参数,查看命令帮助可使用如下命令:

$ sudo docker --help

当然也可以查看某个命令的帮助,格式是:docker 命令 --help,举例如下:

$ sudo docker container ls --help


开玩吧:

首先我们先pull一个名为busybox的镜像文件

$ sudo docker pull busybox

下载下来后我们用如下命令查看一下镜像文件

$sudo docker image ls

返回结果如下图:

image.png

接下来我们就要使用如下命令从busybox这个镜像文件启动一个Container了,命令如下:

$ sudo docker run --name bl -it busybox

run:运行一个容器
--name:为容器制定一个名字,如果不使用该参数,默认使用镜像名称
-it:为选项-i和-t的组和,-i是交互窗口的,-t是打开一个终端
busybox:镜像的名称

运行后我们会直接进入这个容器里面,你可以发现他和一个我们正常使用的linux的操作一模一样

这个镜像里自带了httpd服务,我们来用一下,首先我们创建一个简单的网站目录

$ sudo mkdir -p /data/www
$ sudo tee /data/www/index.html <<-'EOF'
                   Busybox httpd Server
                   EOF

确认没问题之后我们来启动httpd服务

$ sudo httpd -h /data/www/
-h:指定网站目录

使用“netstat -ant”我们可以看到httpd服务已经开启,并且监听了80端口

image.png

可是我们要如何访问这个web站点呢,因为我们启动的时候并没有做端口映射,所以无法使用宿主机的IP访问,还记得之前的文章我们讲过Docker的网桥吗?他如同VMware的虚拟网卡一样,如果不指定Docker容器启动的时候被分配到bridge网桥,这个网桥的作用就如同VMware的net模式,在这个模式下,容器可以访问宿主机和外网,宿主机可以访问容器,但是外网无法访问容器内。

所以我们先查看一下容器的IP地址

$ sudo ifconfig

image.png

然后从宿主机通过curl访问web站点

$ sudo curl http://172.17.0.2

image.png

现在我们输入exit退出Container,然后在宿主机上执行如下命令

$ sudo docker ps

我们可以看到刚才启动的名字为bl的容器正在运行,运行了9分钟,运行的命令是sh以及其他信息

image.png

如果我们需要修改一下网页信息,该如何修改呢?

首先我们要再次进入容器里面呢,请使用下面的命令

$ sudo docker exec -it bl /bin/sh
-it:参数-i和-t的组和
bl:容器名字
/bin/sh:执行的命令

如下提示则表明我们已经进入到了容器里面

image.png

接下来我们改一下首页文件

$ sudo echo "welcome to Container web station" >> /data/www/index.html

接下来我们再从宿主机上放问一下web站点看看效果

image.png

OK大功告成

接下来让我们把这个容器关掉吧!

首先我们使用exit命令退出容器,然后再宿主机上我们使用如下命令停止容器

$ sudo docker sotp bl

我们可以明显的看到容器的状态变成了Exited

image.png

到此这个容器的使命就完成了,我们要使用如下命令删除这个容器

$ sudo docker rm bl

我们看到容器已经被删掉了

image.png


猜你喜欢

转载自blog.51cto.com/wangxiaoke/2174262
今日推荐