使用Docker构建企业级自定义镜像的方法

作者:java_small_ant 时间:2022-06-09 08:14:00 

前言

临下班前,楼主接到了一个需求,由于基础镜像标准发生变更,需要按照最新的Docker 镜像标准构建自己应用的自定义镜像。目前的标准是这样的:基础架构组只提供所有项目必须接入的3个公共镜像,这3个公共基础镜像包含了:JDK8、Skywalking、Arthas。对于各自业务组的应用如果还需要加入其它镜像,则由各个业务组自己基于基础架构组提供的公共镜像之上,再添加自定义的镜像,结构图如下:

使用Docker构建企业级自定义镜像的方法

构建步骤

编写Dockerfile

基于最新的规范来看,我们需要编写一个Dockerfile,然后引用基础架构组提供的基础镜像,再加入应用需要的其他镜像。因此最终的 Dockerfile 文件如下:


FROM 基础镜像地址
RUN apk add 需要添加的自定义镜像
...

在Centos7下安装Docker环境

卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。


$ sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

安装 Docker Engine-Community

使用 Docker 仓库进行安装

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

设置仓库

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。


$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

使用以下命令来设置稳定的仓库。


$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker Engine-Community

安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:


$ sudo yum install docker-ce docker-ce-cli containerd.io

如果提示您接受 GPG 密钥,请选是。

有多个 Docker 仓库吗?

如果启用了多个 Docker 仓库,则在未在 yum install 或 yum update 命令中指定版本的情况下,进行的安装或更新将始终安装最高版本,这可能不适合您的稳定性需求。

Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。

要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:

1、列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。


$ yum list docker-ce --showduplicates | sort -r

docker-ce.x86_64 3:18.09.0-3.el7      docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7      docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7      docker-ce-stable

2、通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。


$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

启动 Docker。


$ sudo systemctl start docker

通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。


$ sudo docker run hello-world

开始构建应用自定义镜像

根据 Dockerfile 文件进行自定义镜像的构建

在Dockerfile 文件所在的目录下执行如下命令进行自定义镜像的构建:


sudo docker build -f Dockerfile -t 你的自定义镜像名称 .

推送到企业私有的镜像harbor之前进行登录


docker login 企业私有的harbor地址
输入用户名
输入密码
完成登录

将构建完成的自定义镜像推送到企业私有的harbor


sudo docker push 你的自定义镜像名称

总结

通过 1.编写自定义构建镜像的Dockerfile 2.安装Docker环境 3.构建自定义镜像 4.上传自定义镜像到harbor 以上4个步骤,我们便完成了应用自定义镜像的构建,后续我们自己的应用中直接使用自定义镜像即可,这样做的好处就是基于基础的镜像,我们可以随意组合,构建出满足自己应用的镜像,更灵活、镜像分层管理、可扩展。

来源:https://segmentfault.com/a/1190000022689417

标签:Docker,企业级,自定义镜像
0
投稿

猜你喜欢

  • 亲手教你Docker Compose安装DOClever的详细过程

    2021-05-12 08:54:08
  • Apache Shiro 使用手册(五) Shiro 配置说明

    2021-04-12 19:12:50
  • Win Server 2008 DNS服务器新增功能

    2008-11-20 15:40:00
  • 从头开始:网站标题在SEO优化中的重要性

    2009-03-18 14:15:00
  • SEO也要具体问题具体分析

    2008-05-06 12:51:00
  • VMware下配置Linux系统局域网和外网访问图文教程

    2023-09-03 10:50:08
  • 使用linux命令crontab间隔时间执行其它命令

    2021-10-28 09:05:38
  • 与谷歌机器人约会:关于状态代码节约带宽

    2009-02-06 08:58:00
  • 热心网友倡议 成人过六一的九大建议条例

    2008-05-27 17:45:00
  • 搜索引擎本土化本地化和地方网站发展的关系

    2009-08-23 15:57:00
  • 通用htaccess优化wordpress实现yslow评分达到A

    2010-10-20 18:17:00
  • 新站真的被百度封了嘛?原因分析

    2009-02-11 01:14:00
  • yum安装模糊查询所需要的软件包的方法(推荐)

    2023-06-03 03:58:23
  • Godaddy的VDS使用经验(三)

    2010-05-07 12:59:00
  • 虚拟机VMware安装步骤及镜像文件下载详解

    2022-09-08 01:29:12
  • 教你在VMware中安装Windows11操作系统的保姆级教程

    2023-11-04 20:26:27
  • 个人网站流量价值同样很高

    2008-09-24 18:03:00
  • 56网王建军:视频分享是我们坚定不移的方向

    2010-03-08 10:55:00
  • Windows系统如何配置ASP运行环境

    2008-01-27 15:52:00
  • Apache服务器配置全攻略(五)

    2008-01-20 14:55:00
  • asp之家 网站运营 m.aspxhome.com