1. 利用commit理解镜像构成
(1)通过实训平台进入到操作系统界面,在#后输入docker run --name webserver -d -p 80:80 nginx命令,然后按Enter键,启动一个nginx容器。示例代码截图,如图所示:
(2)在#后输入curl 10.24.2.16(可在实训平台通过ip a命令查询)命令,然后按Enter键,查询Nginx欢迎页面代码。示例代码截图,如图所示:
(3)在#后输入docker exec -it webserver bash命令,然后按Enter键,进入Nginx容器修改欢迎页面内容。在#后输入echo ‘< h1>Hello, Docker!< /h1>’ > /usr/share/nginx/html/index.html 命令。示例代码如下:
[root@xxx ~]# docker exec -it webserver bash
root@2351e6feec3a:/# echo ‘< h1>Hello, Docker!< /h1>’ >/usr/share/nginx/html/index.html
root@2351e6feec3a:/# exit
(4)在#后输入curl 10.24.2.16(可在实训平台通过ip a命令查询)命令,然后按Enter键,查询Nginx修改后的页面代码。示例代码截图,如图所示:
(5)在#后输入docker diff webserver命令,然后按Enter键,查询Nginx修改后的页面代码。示例代码截图,如图所示:
(6)在#后输入docker commit --author “Tao Wang twang2218@gmail.com” --message “修改了默认网页” webserver nginx:v2命令,然后按Enter键,使用commit 构建一个镜像。示例代码截图,如图所示:
(7)在#后输入docker images nginx命令,然后按Enter键,查询commit构建的Nginx镜像。示例代码截图,如图所示:
(8)在#后输入docker history nginx命令,然后按Enter键,查看镜像内的历史记录。示例代码截图,如图所示:
2. 使用Dockerfile定制镜像
(1)在#后输入mkdir static_web命令,然后按Enter键,创建目录static_web。示例代码如下:
#mkdir static_web
(2)在#后输入cd static_web/命令,然后按Enter键,进入目录static_web。示例代码如下:
#cd static_web/
(3)在#后输入touch Dockerfile命令,然后按Enter键,创建文件 Dockerfile。示例代码如下:
#touch Dockerfile
(4)在#后输入ll(小写L)命令,然后按Enter键,查看目录中的文件。示例代码如下:
#ll
(5)在#后输入vi Dockerfile命令,然后按Enter键,编辑Dockerfile文件。示例代码如下:
#vi Dockerfile
(6)编辑Dockerfile文件,然后按i键,添加以下内容:
#version: 0.0.1
FROM ubuntu
MAINTAINER James Turnbull "james@example.com"
RUN apt-get update
RUN apt-get install -y nginx
RUN echo ‘Hi, I am in your container’ > /var/www/html/index.html
EXPOSE 80
(7)编辑结束后,按ESC键进入末行模式,输入:wq命令,然后按Enter键,保存代码并退出。示例代码截图,如图所示:
(8)在#后输入sudo docker build -t=“jamtur01/static_web” . 命令,然后按Enter键,执行Dockerfile文件。示例代码部分截图,如图所示:
运行结果截图,如图所示: