课堂主要内容
- 什么是分层镜像
- 什么是Docker file
- 使用dockerfile构建镜像
- 使用容器镜像服务在线构建镜像
docker镜像的分层结构
- 只有容器层是可写的,容器层最下面的所有镜像层都是只读的
- 叠加文件系统:从上往下一次在各镜像层中查找文件
- copy-on-white: 只有当需要修改时才复制一份数据
下拉镜像
docker pull alpine
查看本地镜像
docker images | grep alpine
运行容器
docker run -it alpine sh
生产一个20M的文件
dd if=/dev/zero of=lei_temp bs=10M count=2
ls
ls -lh lei_tmp
ctrl+P 和 ctrl+Q 快捷退出,一个暂停一个退出,保证容器继续运行
docker ps
docker commit 11368f814218 alpine:test
docker images | grep alpine
docker history alpine:latest
docker history alpine:test
由此证明分层的构建
什么是dockerfile
FROM Debian # (1)
RUN apt-get install emcas # (2)
RUN apt-get install apache2 # (3)
CMD [“/bin/bash”] # (4) 容器被创建够执行的命令
一般来说 RUN一次一层 一般集中一个RUN 执行
其他命令
如何使用Dockerfile进行构建
docker build -f Dockerfile -t testdocker:v2 . # 注意有个点 . 构建路径
-f 指定dockerfile路径 -t 指定生成的镜像名
. 构建路径,docker 会复制本目录文件下所有的文件因此,建议使用空目录来创建dockerfile
执行dockerfile
docker build -f dockerfile -t 2048:v1 --network=host --build-arg http_proxy=$http_proxy .
docker run -d -p 8085:80 2048:v1
最后华为云上实践操作
按照文档来还是很简单的
总体就是在华为云上建立一个代码仓库
然后建立模板获取到Dockerfile
使用容器生成后再云端保存,’
用临时的docker login 获取容器仓库
下拉我们生成好的容器
启动容器后即可使用