mysql 5.7 dockfile_Docker学习(五)Dockerfile

Dockerfile用于构建docker镜像,本章节从一个Dockerfile的例子讲起,先整体看下具体做了什么,在详细介绍每条指定的作用与用法。

1、找到mysql的Dockerfile,并分析

a5b47f80a52c

mysql容器

点击图中红框进到mysql的github源码。

a5b47f80a52c

github mysql

选择5.7,打开Dockerfile

#构建镜像的依赖

FROM debian:buster-slim

# 执行添加组和添加用户的命令,不熟悉的同学看下mysql添加组和用户命令

RUN groupadd -r mysql && useradd -r -g mysql mysql

#更新依赖版本库、--no-install-recommends不安装非必须依赖、删除指定目录的文件

RUN apt-get update && apt-get install -y --no-install-recommends gnupg dirmngr && rm -rf /var/lib/apt/lists/*

# 环境变量 指定gosu版本,以便后面使用

ENV GOSU_VERSION 1.12

#执行很多的脚本命令,以反斜杆结尾代表一个命令,此处建议这么写,不能写多个run,以减少镜像的层数

RUN set -eux; \

savedAptMark="$(apt-mark showmanual)"; \

apt-get update; \

apt-get install -y --no-install-recommends ca-certificates wget; \

rm -rf /var/lib/apt/lists/*; \

dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \

wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \

wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \

export GNUPGHOME="$(mktemp -d)"; \

gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \

gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \

gpgconf --kill all; \

rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \

apt-mark auto '.*' > /dev/null; \

[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \

apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \

chmod +x /usr/local/bin/gosu; \

gosu --version; \

gosu nobody true

#创建docker-entrypoint-initdb.d文件

RUN mkdir /docker-entrypoint-initdb.d

#更新依赖源以及安装必要依赖

RUN

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值