Docker

スポンサーリンク
Docker

[docker] Docker Composeで作成したコンテナの名前

概要 Docker Composeでコンテナを作成すると「プロジェクト名_サービス名_1」というコンテナ名が自動的に付けられる。(サービス名=compose.yamlのservicesに書いた名前) ただし、compose.yaml内でコンテナを指定するときはサービス名を使う。 よって、compose.yaml内ではサービス名、dockerコマンドでは自動的に付けられたコンテナ名、を使ってコンテナ...
Docker

[docker] DockerfileのCMDとENTRYPOITNTの違い

概要 Dockerfileに記述できるCMDとENTRYPOITNTは、どちらも「コンテナ起動時に実行するコマンド」を記述するための命令である。どちらもDockerfileに1つだけ記述することができる。 CMDとENTRYPOITNTの違いは「コンテナ起動時の引数やcompose.yamlで上書きできるかどうか」である。 CMD: compose.yamlなどで上書き可能 ENTRYPOITNT...
Docker

[docker] コンテナのネットワークとは?

概要 Dockerコンテナを他のコンテナやホストと通信させるためには、コンテナ=コンテナ、コンテナ=ホスト、のネットワークが必要である。 ネットワークには、Dockerがデフォルトで用意しているネットワークとDocker Composeなどでユーザーが作成したネットワークがある。 デフォルトのネットワーク Dockerはデフォルトで以下の3つのネットワークを作成する。 bridgeコンテナ間、コン...
Docker

[docker] ボリュームマウントとバインドマウントの違い

概要 dockerではコンテナを削除するとデータが消えてしまうが、データを永続化することでコンテナが削除されてもデータを残すことができる。 データの永続化にはボリュームマウントとバインドマウントがあり、データが保存される場所が異なる。公式では、データの移行やバックアップが容易なボリュームマウントが推奨されている。ただし、開発環境ではファイルの変更をリアルタイムで反映できるバインドマウントを使うのが...
Docker

[docker] MySQLで日本語が文字化けしてしまう場合の解決法

概要 dockerのMySQLコンテナはそのまま使うと日本語が文字化けしてしまう。MySQLの設定ファイルmy.cnfで文字コードを指定することで、文字化けを解消することができる。 手順 1. my.cnfを用意し、任意のディレクトリ内に格納する ここではmysql/my.cnfとする。 character_set_server = utf8mb4 collation-server=utf8mb4...
Docker

[docker] mysqlに接続できない原因

概要 docker-compose.ymlにMYSQL_DATABASE. MYSQL_USERMYSQL_PASSWORDMYSQL_ROOT_PASSWORDなどを定義しても、反映されずにMySQLが作成されてしまうことがある。 Host '172.19.0.6' is not allowed to connect to this MySQL serverのようにHost 'xxx.xx.xx...
Docker

Docker for MacでCannot start service xxx: Mounts deniedのエラーとなる原因

概要 Docker For Macをバージョン3.0.0にアップデートしたところ、以下のようなエラーが表示されコンテナを起動することができなくなった。 ERROR: for xxxxx Cannot start service xxxxx: Mounts denied: approving /Users/xxxx/xxxx: file does not existERROR: Encountere...
スポンサーリンク