资讯专栏INFORMATION COLUMN

Docker 脚本化一键部署

VEIGHTZ / 3270人阅读

摘要:参照官网安装的时候,需要安装等包,但官网给的源是,国内访问不了,此时我们可以使用阿里云的仓库镜像。阿里云上没有附说明连接,简单摸索了下,如下设置可用。

Docker

install Docker

参照官网

install kubernetes

安装kubernetes的时候,需要安装kubelet, kubeadm等包,但k8s官网给的yum源是packages.cloud.google.com,国内访问不了,此时我们可以使用阿里云的yum仓库镜像。

阿里云上没有附Help说明连接,简单摸索了下,如下设置可用(centos)。注意不要开启check。

cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
开发思路
1 寻找基础镜像
2 基于基础镜像编写Dockerfile脚本
3 根据Dockerfile脚本创建项目镜像
4 将创建的镜像推送到docker仓库 (根据自身需要,可做可不做)
5 基于项目镜像创建并运行docker容器 (实现最终部署)

思路:使用 centos 容器安装对应的软件环境,最后将环境导出。

操作步骤

创建容器

$ docker pull centos    
$ sudo docker run --privileged --cap-add SYS_ADMIN -e container=docker -it --name my_centos -p 80:8080  -d  --restart=always centos:7 /usr/sbin/init 

启动容器

$ docker exec -it my_centos /bin/bash

导出和导入

$ docker export my_centos > /data/app/meifen/my_centos-export-0428.tar

$ docker import  /data/app/meifen/my_centos-export-0428.tar

保存save

格式:docker save IMAGE(镜像)

使用 docker images 查看本机已有的镜像(也可以使用 docker commit 命令把一个正在运行的容器保存为镜像)

$ docker save 9610cfc68e8d > /data/app/meifen/my_centos-export-0428.tar

加载 load

有点慢,稍微等待一下,没有任何warn信息就表示保存OK。9610cfc68e8d 是镜像ID

现在就可以在任何装 docker 的地方加载 刚保存的镜像了

$ docker load < /home/my_centos-export-0428.tar

其他说明
镜像和容器 导出和导入的区别

1 容器导入 是将当前容器变成一个新的镜像
2 镜像导入 是复制的过程

save 和 export区别

1 save 保存镜像所有的信息-包含历史
2 export 只导出当前的信息

export导出的镜像文件大小 小于 save保存的镜像。export 导出(import导入)是根据容器拿到的镜像,再导入时会丢失镜像所有的历史,所以无法进行回滚操作(docker tag );而save保存(load加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)。(查看方式:docker images --tree) 。export 只导出当前的信息

提交Docker-hub

提交镜像

$ docker commit -a "cristic" -m "commit content"  801a40ffa673  cristicmei/name:v1.0.0

查看镜像

$ docker images

登录docker-hub

$ docker image

前提是用户有docker-hub的账号

提交远程仓库

$ docker push cristicmei/name:v1.0.0
精简Docker镜像大小的必要性

Docker镜像由很多镜像层(Layers)组成(最多127层),镜像层依赖于一系列的底层技术,比如文件系统(filesystems)、写时复制(copy-on-write)、联合挂载(union mounts)等技术,可以查看Docker社区文档以了解更多有关Docker存储驱动的内容,这里不再赘述。总的来说,Dockerfile中的每条指令都会创建一个镜像层,继而会增加整体镜像的尺寸。

下面是精简Docker镜像尺寸的好处:

减少构建时间
减少磁盘使用量
减少下载时间
因为包含文件少,攻击面减小,提高了安全性
提高部署速度

最重要的因素是减少镜像的层数,这样能大大减小镜像的大小;

使用链式代码“&&”把多行指令结合成一行

清除 yum 缓存

$ yum clean headers
$ yum clean packages
$ yum clean all

清除无用的tar.gz安装包

选择更小的基础镜像

ISSUE /var/lib/docker/overlay2 占用很大,清理Docker占用的磁盘空间,迁移 /var/lib/docker 目录

1.命令查看磁盘使用情况

$ du -hs /var/lib/docker/ 

用于查看Docker的磁盘使用情况

$ docker system df

清理磁盘

$ docker system prune 

可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。

$ docker system prune -a

迁移 /var/lib/docker 目录

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27823.html

相关文章

  • 联调环境快速部署——基于docker-compose的CI/CD实践

    摘要:三部署架构说明这个方案仅适用于小公司敏捷项目团队联调测试环境的部署,同时也可以作为学习入门的,并不适用于有一定规模的生产环境。另外,建议把测试域名泛解析到部署这台服务的机器。模块配置部署脚本业务模块的配置基本是通过部署脚本来操作的。 项目地址: https://github.com/xiongwilee...基本特性: 快捷部署多人nginx+php的开发测试环境,也可以扩展构建其...

    xiaokai 评论0 收藏0
  • 联调环境快速部署——基于docker-compose的CI/CD实践

    摘要:三部署架构说明这个方案仅适用于小公司敏捷项目团队联调测试环境的部署,同时也可以作为学习入门的,并不适用于有一定规模的生产环境。另外,建议把测试域名泛解析到部署这台服务的机器。模块配置部署脚本业务模块的配置基本是通过部署脚本来操作的。 项目地址: https://github.com/xiongwilee...基本特性: 快捷部署多人nginx+php的开发测试环境,也可以扩展构建其...

    klinson 评论0 收藏0
  • Python3网络爬虫实战---12、部署相关库的安装:Docker、Scrapyd

    摘要:阿里云安装脚本安装脚本两个脚本可以任选其一,速度都非常不错。推荐的加速器有和阿里云。阿里云不同平台的镜像加速方法配置可以参考的官方文档。以上便是的安装方式说明。上一篇文章网络爬虫实战爬虫框架的安装下一篇文章网络爬虫实战部署相关库 上一篇文章:Python3网络爬虫实战---11、爬虫框架的安装:ScrapySplash、ScrapyRedis下一篇文章:Python3网络爬虫实战---...

    ityouknow 评论0 收藏0
  • Davinci一键部署 | 论如何三句代码跑起Davinci

    摘要:来源敏捷大数据作者汤波成宜信技术学院导读之前喜欢的小伙伴儿在安装部署遇见问题时需要在区等待技术人员的解答。现在不用怕啦,社区热心用户白菜君帮我们支持了一键启动,以后只需寥寥几行代码,就能舒畅的起来了。 来源:敏捷大数据 作者:汤波成 宜信技术学院   导读:之前喜欢Davinci的小伙伴儿在安装部署Davinci遇见问题时需要在github issue区等待技术人员的解答。现在不用怕啦...

    ivan_qhz 评论0 收藏0
  • 使用Packer实现自动构建UCloud云主机镜像

    摘要:宋体为了解决此类问题,开发了相关代码,并被自动化构建镜像工具的官方仓库所采纳。宋体宋体可以运行在常用的主流操作系统上,它不是等软件的替代品,而是集成并使用这些自动化配置工具在镜像上预装软件等。背景 云主机是用户使用最高频的云产品之一。随着云主机数量的增多,如何在云主机中保证版本化部署的一致性,成为用户常见的难题。在现有情况下,用户首先需要手动或使用脚本连接主机,然后再进行部署安装,操作...

    zorpan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<