Docker Dockerfile 使用方法

Dockerfile 介绍

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

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

创建Dockerfile文件

并将以下内容粘贴到文件中,然后将文件命名为 Dockerfile:

# 使用官方的 MySQL 镜像作为基础镜像
FROM mysql:latest

# MySQL密码
ENV MYSQL_ROOT_PASSWORD=123456

# 暴露 MySQL 的默认端口
EXPOSE 3306

(1)使用 FROM 关键字指定了基础镜像。在这个示例中,我们选择了官方的 MySQL 镜像,并使用 :latest 标签,表示我们将使用最新的 MySQL 版本作为基础。

(2)使用 ENV 关键字设置了一个环境变量 MYSQL_ROOT_PASSWORD,用于指定 MySQL 数据库的 root 用户的密码。

(3)使用 EXPOSE 关键字指定了容器将要监听的端口。在这里,我们暴露了容器内部的 3306 端口,这是 MySQL 数据库的默认端口。

构建 Docker 镜像

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

docker build -t my-mysql-container .

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

查看已下载的镜像

使用docker images命令可以列出所有本地已下载的Docker镜像:

docker images

运行 mysql 命令

docker run -itd --name mysql-test -p 3306:3306   my-mysql-containe

其中,my-mysql-container 是你为镜像指定的名称。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/11222

赞 (0)
凯影的头像凯影
上一篇 2024年1月31日 下午2:37
下一篇 2024年2月2日 下午2:04

相关推荐

  • Linux 时间同步 Chrony

    Chrony是NTP(Network Time Protocol,网络时间协议,服务器时间同步的一种协议)的另一种实现,与ntpd不同,它可以更快且更准确地同步系统时钟,最大程度的减少时间和频率误差。 在CentOS6中,默认是使用ntpd来同步时间的,但ntpd同步时间并不理想,有可能需要数小时来同步时间。而且ntp也已经很老了。所以在Centos7中换成…

    2023年1月6日
    2.1K00
  • Windows环境powershell 运维之历史文件压缩清理

    一、Power Shell概述1.1 Windows Power Shell简介Windows PowerShell 是微软发布的一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。 引入了许多非常有用的新概念,从而进一步扩展了在 Windows 命令提示符和 Windows Script Host 环境中…

    2023年12月29日
    1.4K00
  • Grafana如何自定义告警消息

    以下是一个使用pushgateway获取磁盘健康状态的报警消息。 可以看到,grafana默认的模板有很多无用内容。 获取数据 在grafana的报警预览中,只有state和info两个列显示。 info内容看起来是一个键值对类型的数据,其实只是一个字符串,无法从中获取我们想要的键值对。 我们通过go templete语法,提取字符串里的数据。 将该内容填写…

    2022年12月8日
    4.8K00
  • Linux系统VPS云服务器网络速度性能测试一键脚本分享

    收集的一些常用的测试脚本部分经过实际测试,基本可以正常使用,关于脚本测试出来数据的准确性,需要自行甄别,仅供参考。 本站所收集的一键脚本均来自网络,不对其收集的脚本负责,请注意保管并备份资料,建议多尝试几个脚本进行测试。 附件下载测试 秋水逸冰硬件信息/带宽测试 测试VPS基础信息,以及下载速度,来自秋水逸冰:https://bench.sh/ 老鬼硬件信息…

    2022年6月8日
    4.0K00
  • mysql之两个db实例中有两个表对比

    两个db实例中有两个表对比要确定两个数据库实例中的两个表是否存在差异,你需要比较这两个表的所有数据。这个过程可以通过多种方法实现,以下是几个常见的方法: SQL查询比较如果两个数据库相互可访问(例如,通过数据库链接),你可以编写SQL查询来比较它们的数据。以下是一个简单的例子,演示如何比较两个表的数据: 如果这些查询返回任何行,那么这些行就是两个表之间的差异…

    2024年7月4日
    3.6K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信