基本
Docker for Mac
Linux CentOS 7にDocker CE(無償版)をインストール
Docker基本操作とコンテナ構築 まとめ
Docker のステータス7種類の確認(ライフサイクル)とコマンド
コンテナの一時停止「Pause」
再開(unpause)
docker-compose でのpauseコマンドの使い方
$ docker-compose pause
コンテナ間通信(ネットワーク)
docker network create
コマンドで Docker ネットワーク を作成します。
docker network create test-network
Docker ネットワークを確認するには、
docker network ls
コマンドを実行します。
docker network ls
NETWORK ID NAME DRIVER SCOPE
6681a32a3d6f bridge bridge local
bc8ace895846 host host local
74bc6dce3a53 test-network bridge local
6f730504383f none null local
コンテナを Docker ネットワークに接続するためには、 docker run コマンドでコンテナを作成する際に、 --network オプションで作成した Docker ネットワークを指定します。
本記事の例の場合、コンテナの作成コマンドは以下のようになります。
docker run -d --name test-php-server --network test-network -v /path/to/src/dir:/var/www/html -p 8080:80 php:apache
docker run -d --name test-mysql --network test-network -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_USER=docker -e MYSQL_PASSWORD=secret -e MYSQL_DATABASE=docker -p 3306:3306 mysql:5.7.27
コンテナ間通信を用いて MySQL に接続する場合、 PDO のコンストラクタの第 1 引数の host= の箇所を、 MySQL のコンテナ名に書き換え ます。本記事の例の場合は、 host=test-mysql となります。
$con = new PDO('mysql:dbname=docker;host=test-mysql', 'docker', 'secret');
docker-compose.yml でネットワーク(コンテナ間通信)の設定
コンテナの内部IPアドレスを確認する方法
Docker Compose とは
docker-compose.yml
Docker-compose コマンド
Dockerfile コマンド
Docker Hub Popular Imageの検索
DockerHub MySQLイメージ
Mac(M1) + Apache:2.4 + PHP:7.4 + mySQL:8.0 他 環境構築
Docker + MySQL
docker-compose MySQL設定 - my.cnf
MySQL 初期化・永続化 - docker-compose.yml
DockerのMySQLイメージ起動時に渡す環境変数
Docker の環境変数 項目参照
注意
MYSQL_USER
: MYSQL_DATABASE 変数で指定されたデータベースに対するスーパーユーザー権限が付与されます。 MYSQL_DATABASE が設定されていない場合、ユーザーは権限なしで作成されます。
公式
エラー
sudo: docker-compose: コマンドが見つかりません
address already in use
ERROR: The Compose file './docker-compose.yml' is invalid because:(中略) it should be a string
docker-compose upしようとしたら「Cannot start service」
docker psでコンテナIDが表示されない場合、コンテナは存在するけど停止している状態を示す「-a」オプションをつけて再度表示