我有一个情结 Dockerfile
不仅仅是 mysql-server
所以我不能从现有的 mysql
容器。
当我去掉所有多余的东西时,我得到了这个 Dockerfile
```
FROM ubuntu:latest
ENV MYSQL_ROOT_PASSWORD=root
ENV MYSQL_ROOT_USER=root
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install -y apt-utils
RUN apt-get install -y mysql-server
RUN usermod -d /var/lib/mysql/ mysql
RUN service mysql start
不幸的是, `mysql` 不想启动:
---> 57a66bd64c2c
Step 8/9 : RUN usermod -d /var/lib/mysql/ mysql
---> Running in 596df248c2e4
---> ee78442bcc56
Step 9/9 : RUN service mysql start
---> Running in 0d9e5803cf33
- Starting MySQL database server mysqld
...fail!
The command '/bin/sh -c service mysql start' returned a non-zero code: 1
我犯了什么错?
1条答案
按热度按时间2hh7jdfx1#
看起来你已经删除了docker文件中最重要的部分。这是官方的mysql repo docker文件。
你需要包括一个正确的源代码和正确的版本来提取图像。并公开正确的端口,分离出卷供mysql运行。你的容器可能会因为这些原因而失效。我建议从dockerfile中删除mysql部分,然后运行容器的其余部分。使用官方的mysql映像并将其安装在单独的容器中。然后你可以把数据库和其他应用程序连接起来。