Shi*_*uan 9 mysql docker dockerfile docker-compose docker-volume
容器不断重启。我试过
容器工作正常,直到我的电脑意外关闭。
2021-03-27 13:16:08+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.23-1debian10 started.
2021-03-27 13:16:08+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2021-03-27 13:16:08+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.23-1debian10 started.
2021-03-27 13:16:08+00:00 [ERROR] [Entrypoint]: MYSQL_USER="root", MYSQL_USER and MYSQL_PASSWORD are for configuring a regular user and cannot be used for the root user
Remove MYSQL_USER="root" and use one of the following to control the root user password:
- MYSQL_ROOT_PASSWORD
- MYSQL_ALLOW_EMPTY_PASSWORD
- MYSQL_RANDOM_ROOT_PASSWORD
Run Code Online (Sandbox Code Playgroud)
mysql:
image: mysql:8.0
ports:
- 3306:3306
expose:
- "3306"
cap_add:
- SYS_NICE # CAP_SYS_NICE
volumes:
- ./cache/mysql:/var/lib/mysql
- ./conf-mysql.cnf:/etc/mysql/conf.d/mysql.cnf
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_PASSWORD=root
- MYSQL_USER=root
- MYSQL_DATABASE=mydb
restart: unless-stopped
Run Code Online (Sandbox Code Playgroud)
小智 11
我遇到了完全相同的问题,这就是我解决它的方法。
转到 docker-compose.yml 文件并进行以下更改:
将“MYSQL_USER:root”改为“MYSQL_ROOT_USER:root”然后删除前一个。
将“MYSQL_PASSWORD: YourPasseord”更改为“MYSQL_ROOT_PASSWORD: YourPasseord”,然后删除前一项。
示例:这是我的配置...
数据库服务器:
image: mysql:8.0
container_name: mysql
restart: always
environment:
MYSQL_DATABASE: DB_epraca
MYSQL_ROOT_USER: root
MYSQL_ROOT_PASSWORD: Password
MYSQL_ROOT_HOST: localhost
Run Code Online (Sandbox Code Playgroud)
官方 mysql docker 最近发生了导致此问题的更改。有关更多详细信息,您可以查看github 上的此 PR。
为了快速解决方案,您应该删除MYSQL_USER=root
并且您的docker-compose.yaml
文件应如下所示
mysql:
image: mysql:8.0
ports:
- 3306:3306
expose:
- "3306"
cap_add:
- SYS_NICE # CAP_SYS_NICE
volumes:
- ./cache/mysql:/var/lib/mysql
- ./conf-mysql.cnf:/etc/mysql/conf.d/mysql.cnf
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=mydb
restart: unless-stopped
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6525 次 |
最近记录: |