一.概念讲解
1.镜像的分层结构
- 共享宿主机的kerne
- base镜像提供的是最小的Linux发行版
- 同一docker主机支持运行多种Linux发行版
- 采用分层结构的最大好处是:共享资源
2. Copy-on-Write可写容器层
- 容器层以下所有镜像层都是只读的
- docker从上往下依次查找文件
- 容器层保存镜像变化的部分,并不会对镜像本身进行任何修改
- 一个镜像最多127层
3.镜像的构建
(1)docker commit 构建新镜像三部曲
- 运行容器 docker run -it --name test busybox
- 修改容器(以下命令在容器内运行) echo helloworld > testfile
- 将容器保存为新的镜像 docker commit test test:v1
(2)缺点:
- 效率低、可重复性弱、容易出错
- 使用者无法对镜像进行审计,存在安全隐患
二.搭建Docker
1.安装docker和相关依赖性
[root@server1 ~]# ls
[root@server1 ~]# cd docker/
[root@server1 docker]# ls
[root@server1 docker]# rm -rf containerd.io-1.2.5-3.1.el7.x86_64.rpm docker-ce-18.09.5-3.el7.x86_64.rpm docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm docker-ce-cli-18.09.5-3.el7.x86_64.rpm
[root@server1 docker]# ls
[root@server1 docker]# yum install * -y
2.打开docker服务
[root@server1 docker]# systemctl start docker

注意:
docker初始化后会自己刷新防火墙,所以在docker启动后就不要再重启防火墙了,因为可能后边在做端口隐射的时候有问题
3.查看docker的相关信息
[root@server1 docker]# docker info
4.当使用docker的时候,发现无法补齐,安装bash等相关安装包后,发现可以成功补齐(注意:在安装之后需要退出重新进一下)
[root@server1 docker]# docker
[root@server1 ~]# yum install -y bash-*
[root@server1 docker]# exit
[kiosk@foundation66 Desktop]$ ssh root@172.25.66.1
[root@server1 ~]# cd docker
[root@server1 docker]# docker
[root@server1 docker]# docker
三.运行一个2048小游戏
1.将事先下载好的2048镜像导入(需要将镜像导入系统内部)
[root@server1 ~]# ls
[root@server1 ~]# docker load -i game2048.tar