docker - 有没有办法在 Ubuntu docker 容器中通过 Dockerfile 安装 MySQL?

标签 docker ubuntu kubernetes docker-compose dockerfile

我想在 Ubuntu docker 容器中安装 MySQL,但我在互联网上找不到关于如何执行此操作的明确说明...

最佳答案

只是为了澄清, 通过 Docker 文件安装意味着基于 ubuntu 以及您需要的软件包构建和镜像。就像mysql一样。

同时容器是任何 Docker 镜像的运行实例(可以像任何 PC 一样启动和停止)。

因此,在您的情况下,您似乎想要构建一个包含 mysql 的镜像。

  1. 因为您想要 ubuntu:

来自 ubuntu:18.04

  • 因为您想要 mysql,所以需要在 Dockerfile 中多一行:
  • 运行 apt-get update -qq && apt-get install -y mysql-server

    您还可以在 docker 镜像中安装您需要的其他内容,例如 cron 或 python。

    只需使用 RUN apt-get install -y .... 添加新行

  • 然后 docker build -t "desired-imag-name" 在 Dockerfiel 所在的文件夹中构建镜像。
  • 要运行它,您需要一些阻止程序来保持容器运行:

  • docker run -ddesired-imag-name bash -c“sleep infinity”
  • 这可以用于测试目的,但您需要一些更复杂的生产 - 而不是bash -c“sleep infinity”一些sh脚本,它可以在终止容器之前正确停止mysql。

    关于docker - 有没有办法在 Ubuntu docker 容器中通过 Dockerfile 安装 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63452264/

    相关文章:

    docker - 无法通过Jenkin的Blue Ocean运行docker命令:ERRO [0000]在/etc/subuid中找不到用户 “jenkins”的subuid范围

    kubernetes - kubeadm 初始化 - 失败

    regex - sed - "{"和 "},"之间的地址空间

    MySQL sort_buffer_size

    linux - 自定义 init.d 脚本问题

    kubernetes - 为Kubernetes命名空间设置部署锁定?

    kubernetes - 如何使用Nginx Ingress正确设置自定义 header ?

    r - R包安装返回错误时让Docker镜像构建失败

    docker - 如何设置 php 配置文件(php.ini)在 laradock 的 phpmyadmin 容器中使用

    docker - 如何在 Github 操作中为计算引擎虚拟机拉取 Docker 镜像?