Docker 参考サイト

### 基本

https://datawokagaku.com/whatisdocker/

https://codeaid.jp/blog/docker-hajime/

### Docker for Mac

https://www.ikura-oisii.com/1386/

### Linux CentOS 7にDocker CE(無償版)をインストール

https://www.rem-system.com/centos-docker-install/

https://qiita.com/s-suefusa/items/cb3c4044da3b3657dbd0

### Docker基本操作とコンテナ構築　まとめ

https://datawokagaku.com/dockerbasicflow/

### Docker のステータス7種類の確認（ライフサイクル）とコマンド

https://www.skyarch.net/blog/?p=16702

### コンテナの一時停止「Pause」

https://www.publickey1.jp/blog/21/dockerpausepcdocker_desktop_42.html

http://docs.docker.jp/v19.03/engine/reference/commandline/pause.html

__再開(unpause)__

https://docs.docker.jp/compose/reference/pause.html

#### docker-compose でのpauseコマンドの使い方

https://tech.withsin.net/2016/02/25/docker-compose-pause-unpause/

```
$ docker-compose pause
```


### コンテナ間通信（ネットワーク）

https://knowledge.sakura.ad.jp/23899/

https://mseeeen.msen.jp/connection-from-php-to-mysql-on-docker/

https://knowledge.sakura.ad.jp/16082/

>`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 でネットワーク（コンテナ間通信）の設定 

https://y-u-y-a-blog.com/tech/docker/set-up-myself-network/

https://knowledge.sakura.ad.jp/26522/

### コンテナの内部IPアドレスを確認する方法

https://qiita.com/ponsuke0531/items/7e8e5081993a30afdc4a

### Docker Compose とは

https://knowledge.sakura.ad.jp/16862/

### docker-compose.yml 

https://futureys.tokyo/lets-understand-contents-of-docker-compose-yml/

https://www.ogis-ri.co.jp/otc/hiroba/technical/docker/part4.html

### Docker-compose コマンド

https://qiita.com/wasanx25/items/d47caf37b79e855af95f


### Dockerfile　コマンド

https://datawokagaku.com/dockerfile_commands/

### Docker Hub Popular Imageの検索

https://hub.docker.com/search?q=&type=image

### DockerHub MySQLイメージ

https://hub.docker.com/_/mysql/

### Mac(M1) + Apache：2.4 + PHP：7.4 + mySQL：8.0 他　環境構築

https://cloudsmith.co.jp/blog/virtualhost/docker/2021/05/1796924.html

### Docker + MySQL

https://mmtomitomimm.blogspot.com/2018/04/docker-mysqldb.html

https://qiita.com/ucan-lab/items/b094dbfc12ac1cbee8cb

### docker-compose MySQL設定 - my.cnf

https://qiita.com/ucan-lab/items/b094dbfc12ac1cbee8cb

### MySQL 初期化・永続化 - docker-compose.yml  

https://qiita.com/juhn/items/274e44ee80354a39d872

https://nishinatoshiharu.com/docker-volume-tutorial/

### DockerのMySQLイメージ起動時に渡す環境変数

https://qiita.com/nanakenashi/items/180941699dc7ba9d0922

https://dev.mysql.com/doc/refman/8.0/ja/docker-mysql-more-topics.html

Docker の環境変数　項目参照

注意
`MYSQL_USER`: MYSQL_DATABASE 変数で指定されたデータベースに対する**スーパーユーザー権限**が付与されます。 MYSQL_DATABASE が設定されていない場合、ユーザーは**権限なし**で作成されます。

### 公式

https://matsuand.github.io/docs.docker.jp.onthefly/desktop/mac/install/

https://docs.docker.com/compose/install/

https://matsuand.github.io/docs.docker.jp.onthefly/desktop/mac/


### エラー

#### sudo: docker-compose: コマンドが見つかりません

https://kamihikouki.hatenablog.com/entry/2016/11/12/012345

#### address already in use

https://teratail.com/questions/212929

https://qiita.com/terufumi1122/items/8253a47ff24b64455fe5

#### ERROR: The Compose file './docker-compose.yml' is invalid because:(中略) it should be a string

https://qiita.com/rinasan3/items/68ffa55a9cfaef27da6b

#### docker-compose upしようとしたら「Cannot start service」

https://qiita.com/hanakok/items/6bfcfbb8b7b4df877178

#### docker psでコンテナIDが表示されない場合、コンテナは存在するけど停止している状態を示す「-a」オプションをつけて再度表示

https://qiita.com/bassbone/items/dc1b740e6678148a1bc6