Docker Dockerfile 使用方法

举报
久绊A 发表于 2023/12/31 19:25:08 2023/12/31
【摘要】 Dockerfile 介绍当使用Docker构建容器化应用程序时,Dockerfile是一个用于定义容器镜像的文本文件。它包含了一系列指令,告诉Docker如何从基础镜像(通常是官方或自定义的操作系统镜像)构建出最终的镜像,以及如何配置容器中的环境、文件和应用程序。Dockerfile 的编写是构建容器的基础,它允许您定义容器的构建步骤、环境和配置。通过合理使用各种指令,您可以构建出一个满足...

Dockerfile 介绍

当使用Docker构建容器化应用程序时,Dockerfile是一个用于定义容器镜像的文本文件。它包含了一系列指令,告诉Docker如何从基础镜像(通常是官方或自定义的操作系统镜像)构建出最终的镜像,以及如何配置容器中的环境、文件和应用程序。

Dockerfile 的编写是构建容器的基础,它允许您定义容器的构建步骤、环境和配置。通过合理使用各种指令,您可以构建出一个满足应用程序需求的定制化镜像,从而实现应用的容器化部署。

构建mysql镜像

创建Dockerfile ,将文件命名为 Dockerfile

# 使用MySQL 8.0作为基础镜像
FROM mysql:8.0

#设置了MySQL的root密码,创建mydb数据库
#设置了一个新的myuser用户以及该用户的123456密码,并赋予了访问指定数据库的权限
ENV MYSQL_ROOT_PASSWORD=78910
ENV MYSQL_DATABASE=mydb
ENV MYSQL_USER=myuser
ENV MYSQL_PASSWORD=123456

# 复制自定义的初始化SQL文件(init.sql)到容器中
COPY init.sql /docker-entrypoint-initdb.d/

# 暴露 MySQL 的默认端口
EXPOSE 3306

/docker-entrypoint-initdb.d/是MySQL官方镜像预定义的目录,用于初始化数据库。

在Dockerfile中,只能有一个FROM指令指定基础镜像。你不能在同一个Dockerfile中指定两个不同的基础镜像。

打开终端,并导航到包含 Dockerfile 的目录,执行以下命令来构建 Docker 镜像。

docker build -t my-mysql .

其中,my-mysql 是你为镜像指定的名称,. 表示 Dockerfile 在当前目录。

构建JDK镜像

创建Dockerfile ,将文件命名为 Dockerfile。

# 使用OpenJDK 17官方镜像作为基础镜像
FROM openjdk:17

# 设置Java环境变量
ENV JAVA_HOME=/usr/local/openjdk-17
ENV PATH="$PATH:$JAVA_HOME/bin"

打开终端,并导航到包含 Dockerfile 的目录,执行以下命令来构建 Docker 镜像。

docker build -t my-jdk .

其中,my-jdk 是你为镜像指定的名称,. 表示 Dockerfile 在当前目录。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。