質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

0回答

1276閲覧

dockerでMySQLが使えない

mmmmeru

総合スコア1

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/12/06 06:58

編集2021/12/06 08:12

前提・実現したいこと

docker環境構築

手順↓
dockerインストール
docker desktopインストール
WSL2インストール
Ubuntuインストール
githubからgit cloneでディレクトリをコピー
docker compose up -d --build で起動
docker compose psで確認
Mysqlのみexited (1)STATUS表示

docker環境構築中に以下のエラーメッセージが発生しました。
データの初期化中になんかこけてるっぽいんですが、ご経験ある方お力添えお願い致します。

と表示され、
docker compose psで確認すると

exited (1)

とmysqlのみ表示されます。。

補足情報が必要な場合お知らせください

発生している問題・エラーメッセージ

mysql_host | 2021-12-06T06:49:17.738119Z 0 [ERROR] Can't start server : Bind on unix socket: Operation not supported mysql_host | 2021-12-06T06:49:17.738215Z 0 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ? mysql_host | 2021-12-06T06:49:17.738251Z 0 [ERROR] Aborting

Dockerfile

# see https://github.com/TrafeX/docker-php-nginx/tree/1.10.0 # see https://qiita.com/mpyw/items/731e710342faf4513776 FROM php:7.4-fpm-alpine AS php-runtime USER root COPY --from=composer /usr/bin/composer /usr/bin/composer ENV TZ=Asia/Tokyo # Configure nginx COPY docker/config/nginx.conf /etc/nginx/nginx.conf # Expose the port nginx is reachable on EXPOSE 80 # Make sure files/folders needed by the processes are accessable when they run under the nobody user

composer.yml

mysql: container_name: mysql_host image: mysql/mysql-server:5.7.36 environment: MYSQL_ROOT_PASSWORD: MYSQL_DATABASE: MYSQL_USER: MYSQL_PASSWORD: ! TZ: Asia/Tokyo ports: - 3306:3306 expose: - "3306" networks: - docker-net user: "1000:1000" volumes: - ./docker/data/mysql:/var/lib/mysql - ./docker/db/sql:/docker-entrypoint-initdb.d

試したこと

/var/lib/mysql/mysql.sockファイルの削除(削除しても同じエラーが続く)
管理者権限に変更して実行
他に動いてるプロセスをkill

補足情報(FW/ツールのバージョンなど)

windows11
laravel6
WSL2
docker desktop
docker3.8
Ubuntu20.4 LTS
Mysql 5.7.36

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

skys215

2021/12/06 08:01

docker-composeやDockerfileも追記でお願いします。
skys215

2021/12/06 08:26

socketじゃなく、TCPを使えばどうですか?
mmmmeru

2021/12/06 08:40

コメントありがとうございます。 色々な記事を見て私もソケットではなく、TCP接続というやりかたがあると分かりましたが、 ネットで見る限りTCP接続というのは、dockerコンテナに外部からアクセスするために設定を追加するという認識で間違いないでしょうか?
skys215

2021/12/06 10:21

特に設定しなくてもいいTCPで使えると見ましたが。
mmmmeru

2021/12/06 10:37

よろしければ具体的な実装方法教えて頂きたいです。
surface_0

2021/12/08 02:52

> docker3.8 とありますが、これはcomposeファイルのバージョンですね。 > Can't start server : Bind on unix socket: Operation not supported > Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ? このエラーの原因はコンテナが多重起動している事が無ければ、書き込み権限の問題な気がします。 ディレクトリのパーミッションを確認、あるいはバインドしているディレクトリを一旦削除してみてください。 あと、MySQLサーバーの起動時点の問題なのでTCP接続云々は関係無いと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問