Docker镜像定制(docker学习笔记)

任务描述

1、 手动修改容器内容,生产Docker镜像。
2、 通过Dockerfile创建镜像。

任务实施

1、利用commit理解镜像构成并定制镜像

(1)首先用nginx镜像启动一个容器,命名为webserver,并且映射了80端口,这样可以用浏览器去访问这个nginx服务器

docker run --name webserver -d -p 80:80 nginx

在这里插入图片描述
直接用浏览器访问的话,会看到默认的Nginx欢迎页面
在这里插入图片描述

(2)如果不喜欢这个欢迎页面,可以使用docker exec命令进入容器进行修改

docker exec -it webserver bash

在这里插入图片描述
修改后
在这里插入图片描述

(3)修改了容器的文件,也就是改动了容器的存储层。用户可以通过docker diff + 容器名字,可以看到具体的改动

(4)当运行一个容器的时候(不适用卷的话),做的任何文件修改都会被记录于容器存储层里。而docker提供了一个docker commit 命令,可以将容器的存储层保存下来成为镜像。在原有的镜像的基础上,在叠加上容器的存储层,构建新的镜像,以后运行这个镜像的时候,就会拥有原有容器最后的文件变化。.

docker commit --author "smile" --message "修改了默认网页" webserver nginx:X2      

smile可以根据自己喜好的来修改 改成什么名字自己决定(我这是X2)
在这里插入图片描述

(5)使用docker images nginx查看生成的镜像

docker images nginx

在这里插入图片描述

(6) 可以用docker history nginx,查看镜像内具体的历史记录

docker history nginx

在这里插入图片描述

(7) 新的镜像定制好后,可以运行这个镜像

docker run --name web2 -d -p 81:80 nginx:X2

在这里插入图片描述
这个镜像命名新的服务器为web2 ,并且映射到81端口,镜像内容和你第一次修改容器里的内容,是一样的。
在这里插入图片描述

2、使用Dockerfile定制镜像

(1) 创建镜像目录;

mkdir static_web
cd static_web
touch Dockerfile
ll

在这里插入图片描述

(2) 编辑新镜像内容;

  • 添加以下全部内容
#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

(3) 执行命令来构建新镜像;

sudo docker build -t="jamtur01/static_web" .

-t:构建一个名称

在这里插入图片描述

  • 执行命令创建镜像的正确结果;
    在这里插入图片描述

(4)Dockerfile和构建缓存;

  • 可以使用 --no-cache 忽略Dockerfile的构建缓存
sudo docker build --no-cache -t="jamtur01/static_web" .

在这里插入图片描述

  • 缓存完成
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值