docker的安装以及镜像的导入测试及其他

docker的安装
留下7个包
container-selinux-2.21-1.el7.noarch.rpm
docker-ce-18.06.1.ce-3.el7.x86_64.rpm
libsemanage-2.5-8.el7.x86_64.rpm
libsemanage-python-2.5-8.el7.x86_64.rpm
pigz-2.3.4-1.el7.x86_64.rpm
policycoreutils-2.5-17.1.el7.x86_64.rpm
policycoreutils-python-2.5-17.1.el7.x86_64.rpm

yum install -y *
在这里插入图片描述

在这里插入图片描述
启动docker并设置开机自启

systemctl start docker
systemctl enable docker

在这里插入图片描述

查看相关docker信息
docker info
docker info

为了补齐
yum install -y bash-*
在这里插入图片描述
运行2048游戏
du -sh game2048.tar
查看游戏大小
在这里插入图片描述

docker load -i game2048.tar 将镜像导入docker
查看获取的镜像
dcker images

在这里插入图片描述
创建容器
-d是打入后台,–name表示为这个容器起了一个名字为vm1
#将其打入后台,做个映射,前面的80是server这个物理机的端口。后面的80是容器的端口

[root@server1 ~]# docker run -d -p 80:80 --name vm1 game2048

查看容器状态
docker ps

在这里插入图片描述

浏览器访问
172.25.30.4

在这里插入图片描述
在这里插入图片描述
搭建基础的系统镜像(ubuntu)
将镜像导入到docker里
在docker文件夹下
docker load -i ubuntu.tar
docker imsges 查看已经导入的镜像
镜像的删除指令: docker rmi 需要删除的镜像
在这里插入图片描述
创建ubuntu镜像的容器
docker run -it --name vm2 ubuntu
** 说明:docker run -it是交互式的容器
docker run -d就是在后台运行的容器
容器的删除是:docker rm -f 需要删除的容器
运行完毕就在容器里面
在这里插入图片描述
容器ubuntu的内核与物理机内核一致
在这里插入图片描述
在容器内创建100个文件
在这里插入图片描述
ctrl + D退出并停掉容器 ctrl +p +q 退出但容器仍在运行
对于退出去但是还在后台执行的容器使用docker attch 容器名就可以进去
docker ps -a查看容器
在这里插入图片描述
查看vm2的详细信息
在这里插入图片描述
docker ps查看当前在运行的容器
以vm2创建出ubuntu:v1镜像
在这里插入图片描述
以docker history 镜像 查看镜像构建的过程

在这里插入图片描述
对比最开始的镜像就会发现在原来的镜像基础之上新创建的镜像多出了一个层

在这里插入图片描述
删除掉容器vm2
docker ps是查看当前在运行的容器
docker ps -a是查看所有容器
查看创建的新脚本
在这里插入图片描述

会发现与容器内文件保持一致
删除vm2容器
以最开始的脚本创建容器

在这里插入图片描述
可以看到容器之间还是有差距的
因为所依据的镜像不同

以dockerfile的形式封装镜像
首先就是再一个空的文件夹下创建dockerfile
因为dockerfile会将本文件夹下的所有信息在创建容器时传输给docker所以文件夹内容越少越好
创建一个dockerfile
在这里插入图片描述
名字一定叫dockerfile
以创建10个文件为例
在这里插入图片描述
daocker build -t ubuntu:v1 .(注意后面有个点)
在这里插入图片描述
可以在查看镜像创建的过程
最后一层就是我们所写的dockerfile

用dockerfile封装应用
以http为例
在这里插入图片描述
必要的dvd.repo自己写
在这里插入图片描述
在这里插入图片描述
创建
在这里插入图片描述
查看镜像
在这里插入图片描述
Docker搭建nginx并优化
将nginx镜像导入docker
docker load -i nginx.tar
在这里插入图片描述
书写Dockerfile
在这里插入图片描述
将nginx的文件也放在文件夹下
执行
docker build -t nginx:v1 .
在这里插入图片描述
在这里插入图片描述
查看封装好的镜像与之前导入的nginx镜像会发现比之前手动导入的大很多
所以需要对自己以Dockerfile创建的nginx作出优化
在这里插入图片描述
对比两个nginx创建时候的文件
在这里插入图片描述
可以看到在安装nginx的时候所安装的解析应用太多
现在将Dockerfile的文件进行修改再查看
减少层数和删除不必要的文件
在这里插入图片描述docker build -t nginx:v2 .
在这里插入图片描述
对比之前创建的nginx
在这里插入图片描述
可以看到确实变小了
建立中间产物
将nginx安装以及编译的过程放在一个环境内但是只是作为一个过程,在创建容器的时候将其不放入容器内,可以减少占用内存
在这里插入图片描述
在这里插入图片描述
对比之前创建的
在这里插入图片描述
可以看到新创建的nginx容器大小小了很多
在阿里云上拉取镜像
镜像加速功能
首先需要虚拟机可以上网
在浏览器中找到阿里云的官网
在这里插入图片描述
注册并登陆
进入控制台
点击左上角
选择产品服务为容器镜像服务
在这里插入图片描述
在这里插入图片描述
点击镜像加速器
上面有完整的操作步骤
在/etc/docker/下创建一个文件名字是daemon.json
内容可以复制官网给出的
在这里插入图片描述
刷新策略
systemctl daemon-reload
systemctl restart docker

测试
docker search 需要的镜像
在这里插入图片描述
docker pull 需要的镜像 下载镜像
在这里插入图片描述
docker images 查看信息
在这里插入图片描述
这样就从阿里云中导入了镜像

# 1、下载rpm源文件 * rpm下载不了的文件可以到[rpm官方](http://rpm.pbone.net/)进行下载 # 2、执行rpm文件 * 1、以下的rpm文件是有依赖,需要安装顺序进行执行. * 2、执行policycoreutils-python-2.5-29.el7.x86_64.rpm发现报 错误:依赖检测失败: policycoreutils = 2.5-22.el7 被 policycoreutils-python-2.5-22.el7.x86_64 需要 去rpm官方网找了一个`policycoreutils-python-2.5-29.el7_6.1.x86_64.rpm`最新的安装包执行安装 * 3、python-kitchen-1.1.1-5.el7.noarch.rpm可以不需要安装 ``` rpm -ivh libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm rpm -ivh audit-libs-python-2.8.4-4.el7.x86_64.rpm rpm -ivh libcgroup-0.41-20.el7.x86_64.rpm rpm -ivh libsemanage-python-2.5-14.el7.x86_64.rpm rpm -ivh checkpolicy-2.5-8.el7.x86_64.rpm rpm -ivh python-IPy-0.75-6.el7.noarch.rpm rpm -ivh setools-libs-3.3.8-4.el7.x86_64.rpm rpm -ivh policycoreutils-python-2.5-29.el7_6.1.x86_64.rpm rpm -ivh container-selinux-2.74-1.el7.noarch.rpm rpm -ivh libseccomp-2.3.1-3.el7.x86_64.rpm rpm -ivh containerd.io-1.2.0-3.el7.x86_64.rpm rpm -ivh docker-ce-cli-18.09.0-3.el7.x86_64.rpm rpm -ivh docker-ce-18.09.0-3.el7.x86_64.rpm ``` # 3、启动docker ``` systemctl daemon-reload && systemctl restart docker ``` # 4、设置开机启动 * Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service. ``` systemctl enable docker.service ``` # 5、验证docker ``` docker version ``` # 参考文章 * [CentOS 7.5离线安装Docker 18.09.3软件](https://jingyan.baidu.com/article/fb48e8becf31a16e632e145f.html)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值