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/9848

(0)
凯影的头像凯影
上一篇 2023年10月18日 下午3:24
下一篇 2023年10月19日 下午4:12

相关推荐

  • Docker配置指定IP(Ubuntu 16.04)

    应用场景 1. Docker网络模式概览 说明: 最常用的就是利用bridge,自定义虚拟网桥来固定IP。默认情况下,docker的容器重启之后,会自动分配IP,导致一次重启IP变化。所以需要对docker容器指定IP。由于docker默认的网络不能固定ip地址,我们创建自定义虚拟网桥,进行固定IP的分配 2. 创建自定义网络 3. 查看网络信息 创建网桥之…

    2023年2月28日
    1.3K00
  • root用户 ssh远程登录 提示access denied

    ssh远程登录 提示Access denied,如下图所示: 需要修改SSH服务配置文件sshd_config来解决这个问题。文件路径为 /etc/ssh/sshd_config ,默认文件内容如下图: 图中红框内容修改为 PermitRootLogin yes,如下图所示: 修改好配置文件并保存,service ssh restart 重启SSH服务,ss…

    2023年6月8日
    1.2K00
  • pve集群的部署

    一、部署前准备 需准备一台物理机,安装hyper-v(需开启虚拟化)或者vmware proxmox镜像下载地址:https://www.proxmox.com/en/downloads 二、安装系统 确认物理机是否开启虚拟化 新建三台虚拟机 之后就自动安装。 装完后新建一个内部虚拟交换机,使物理机与虚拟机能够内网相通。 https:// 192.168.1…

    2023年12月5日
    1.7K00
  • Nginx 的 ngx_stream_module模块安装后启动报错 unknown directive “stream”

    环境: nginx1.16 说明: 在安装好模块后,nginx.conf 中也配置了4层代理信息,可是启动后报错 报错内容:unknown directive “stream” 解决方法: 在 nginx 配置文件中 加上: load_module /home/webapp/nginx/modules/ngx_stream_modul…

    Linux系统 2023年2月3日
    1.4K00
  • Asciinema:你的所有操作都将被录制

    asciinema 是一款开源免费的终端录制工具,它可以将命令行输入输出的任何内容加上时间保存在文件中,同时还提供方法在终端或者web浏览器中进行回放 asciinema的录制和播放都是基于文本的,相比传统的video有很多好处,例如录制文件体积小,在播放的过程中可以暂停复制其中的文本内容等等 同时asciinema还提供了一个网站,你如果愿意还可…

    2023年5月23日
    1.1K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信