- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在本地机器上设置 Laravel 开发环境,但我的 MySQL 容器一直在重启。
使用:带有 WSL2 和 Docker 桌面的 Windows 10 家庭版
docker-compose.yml
version: '3'
networks:
laravel:
services:
web:
image: nginx:stable-alpine
container_name: nginx
ports:
- "80:80"
volumes:
- ./src:/var/www/html
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- phpfpm
- db
networks:
- laravel
db:
image: mysql:8.0.22
container_name: mysql
restart: always
volumes:
- ./mysql:/var/lib/mysql
environment:
MYSQL_DATABASE: mydb
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
networks:
- laravel
phpfpm:
build:
context: .
dockerfile: Dockerfile
container_name: phpfpm
volumes:
- ./src:/var/www/html
ports:
- "9000:9000"
networks:
- laravel
phpmyadmin:
image: phpmyadmin:5-fpm-alpine
container_name: phpmyadmin
restart: always
ports:
- 8080:80
environment:
- PMA_ARBITRARY=1
networks:
- laravel
Dockerfile
FROM php:7.2-fpm-alpine
RUN docker-php-ext-install pdo pdo_mysql
Nginx (default.conf)
server {
listen 80;
index index.php index.html;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/html/laravelapp/public;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# Source: https://serverfault.com/questions/935096/docker-nginx-php-fpm-error-emerg-11-host-not-found-in-upstream
resolver 127.0.0.11; # docker's internal fixed IP address
set $upstream phpfpm:9000;
# nginx will now start if host is not reachable
fastcgi_pass $upstream;
# Source End
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
# gzip_static on;
}
}
docker-compose ps
或 docker deskop
显示 mysql
容器状态为 restarting
。
它偶尔会重新启动,但会再次停止。当我查看日志文件时,似乎出现了严重错误,但我无法理解。
mysql
容器日志
2020-11-07 17:09:27+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.22-1debian10 started.
2020-11-07 17:09:28+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2020-11-07 17:09:28+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.22-1debian10 started.
2020-11-07T17:09:28.627271Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.22) starting as process 1
2020-11-07T17:09:28.634780Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
2020-11-07T17:09:28.654292Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-11-07T17:09:30.967703Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
mysqld: Table 'mysql.plugin' doesn't exist
2020-11-07T17:09:31.108803Z 0 [ERROR] [MY-010735] [Server] Could not open the mysql.plugin table. Please perform the MySQL upgrade procedure.
2020-11-07T17:09:31.187838Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2020-11-07T17:09:31.251299Z 0 [Warning] [MY-010015] [Repl] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-11-07T17:09:31.304178Z 0 [Warning] [MY-000054] [Server] World-writable config file './auto.cnf' is ignored.
2020-11-07T17:09:31.305509Z 0 [Warning] [MY-010107] [Server] World-writable config file './auto.cnf' has been removed.
2020-11-07T17:09:31.306123Z 0 [Warning] [MY-010075] [Server] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 00514c52-211c-11eb-bbbd-0242ac170002.
2020-11-07T17:09:31.415490Z 0 [Warning] [MY-010015] [Repl] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-11-07T17:09:31.439838Z 0 [Warning] [MY-013595] [Server] Failed to initialize TLS for channel: mysql_main. See below for the description of exact issue.
2020-11-07T17:09:31.440013Z 0 [Warning] [MY-010069] [Server] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
2020-11-07T17:09:31.444031Z 0 [Warning] [MY-010284] [Server] RSA public key file not found: /var/lib/mysql//public_key.pem. Some authentication plugins will not work.
2020-11-07T17:09:31.445904Z 0 [Warning] [MY-010284] [Server] RSA public key file not found: /var/lib/mysql//public_key.pem. Some authentication plugins will not work.
2020-11-07T17:09:31.520973Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2020-11-07T17:09:31.521733Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2020-11-07T17:09:31.522162Z 0 [ERROR] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we're sending the information to the error-log instead: MY-001146 - Table 'mysql.component' doesn't exist
2020-11-07T17:09:31.522393Z 0 [Warning] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we're sending the information to the error-log instead: MY-003543 - The mysql.component table is missing or has an incorrect definition.
2020-11-07T17:09:31.523156Z 0 [ERROR] [MY-010326] [Server] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
2020-11-07T17:09:31.523377Z 0 [ERROR] [MY-010952] [Server] The privilege system failed to initialize correctly. For complete instructions on how to upgrade MySQL to a new version please see the 'Upgrading MySQL' section from the MySQL manual.
2020-11-07T17:09:31.523987Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-11-07T17:09:32.995214Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.22) MySQL Community Server - GPL.
最佳答案
我使用托管卷代替了用于数据持久性的映射卷,它不再崩溃了
上一个
db:
image: mysql:8.0.22
container_name: mysql
restart: always
volumes:
- ./mysql:/var/lib/mysql
environment:
MYSQL_DATABASE: mydb
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
networks:
- laravel
现在
db:
image: mysql:8.0.22
container_name: mysql
restart: always
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_DATABASE: mydb
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
networks:
- laravel
volumes:
db_data: {}
关于mysql - 为什么 MySQL 容器在带有 WSL 2 的 Windows 10 Home 上不断重启?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64730673/
我无法将 WebStorm 配置为在 WSL 中处理我的项目(这发生在我重新安装 Windows 操作系统和 WSL 之后)。我认为这个问题与 WSL 配置有关,但我找不到确切的问题。 我的项目中 E
我可以在 powershell 中使用以下命令将我的 ext4 分区挂载到 wsl-2 中: wsl --mount\\.\PHYSICALDRIVE4 --partition 1 但是,当我重新启动
我希望能够重新启动 WSL session 。这样做有点尴尬,因为 WSL 不使用 systemd 所以我们不能使用 reboot .在 WSL session 中,我们可以运行任何 Windows
我几乎完全使用 WSL,并且只切换到主窗口来浏览和运行 Windows 原生程序。我有一个位于 /mnt/c/myrepo 的 git 存储库.为了“安装”/mnt/c/myrepo 中的代码我需要将
如何在 WSL 2 上运行 Gitk? 我已经在 WSL 2 中安装了 Gitk。 安装 Gitk 后,我尝试运行它,但失败并显示以下错误日志: application-specific initia
如何在 WSL 2 上运行 Gitk? 我已经在 WSL 2 中安装了 Gitk。 安装 Gitk 后,我尝试运行它,但失败并显示以下错误日志: application-specific initia
我的 Windows 使用 Ubuntu 设置了 WSL。它已经工作了一段时间,直到我升级到 WSL2。 问题是:每次我启动我的电脑(或重新启动我的电脑)时,它都会失去从 Ubuntu 到 Windo
我的 Windows 安装了 Itellij IDEA 无法从 Ubuntu 访问 JDK(Ubuntu 安装在 WSL 上)。在运行应用程序时,我遇到了这个问题: 而且我无法在 Windows 运行
我正在努力弄清楚如何通过 WSL 中的 bash 命令启动新的“命令提示符”窗口。目标是启动第二个提示符,最好已经在 bash 中。 我已经尝试运行 cmd.exe 但这只会让我从 bash shel
在 Visual Studio 代码中选择 WSL 作为我的默认终端后,我无法打开终端窗口。终端窗口打开,屏幕上出现随机文本,然后终端关闭并显示一条错误消息:“终端进程以退出代码终止:42949672
我在这里和其他网站上搜索了很多相关的帖子,但没有解决我的问题。 如标题中所述,我正在努力在窗口操作系统的 linux 子系统上安装 docker 我用的是 win 10 家庭版,所以我已经安装了 Do
我正在从 WSL 运行 Android Studio。当我尝试使用模拟器时,我得到 "/dev/kvm" not found .我已经安装了 kvm 并且我已经确认在我的 BIOS 中启用了 vt-x
我正在运行 Windows 10,并且一直在 Windows Linux 子系统下使用 Ubuntu Linux 发行版。 我希望能够使用 Chrome.exe 或 google-chrome hea
我对 WSL 很陌生。我想在我的 win10 PC 上的 ubuntu shell 上运行 python 代码。此代码需要访问网络摄像头,但似乎网络摄像头未正确打开..我在网上查过,我发现1-2年前有
科技媒体 Phoronix 对 Windows 10 May 2020 中 WSL 和 WSL 2 的性能进行了测试,参与测试的发行版为 Ubuntu 20.04 on WSL/WSL2 ,以及 U
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - sudo sh -c 'ec
我在 PowerShell wsl pipenv run python ~/test.py 中运行以下命令并收到以下错误 /bin/bash: pipenv: command not found .如
有没有办法找出 WSL 的当前构建版本,即 Build 15042 - 我希望更新到此版本,按照步骤操作,但不确定它是否有效。 最佳答案 如果您要检查系统中安装的版本(我假设在更新到 Windows
我的防火墙(诺顿)阻止 WSL 2 使用互联网。我什至无法ping通谷歌。 当我关闭防火墙时,一切正常,当我再次打开它时,它不再起作用。 我必须在防火墙上设置哪些规则才能允许 WSL 通过?它适用于所
我目前正在寻求获得在 WSL 中运行的 MIPS 交叉编译器工具链,由 CLion 访问。 我遇到了一个关于 WSL 的奇怪问题。我已将以下内容添加到 .bashrc : STAGING_DIR="/
我是一名优秀的程序员,十分优秀!