LoginSignup
4

More than 5 years have passed since last update.

[Docker][初心者][メモ] 初心者がDockerをやってみたらめちゃくちゃわかりやすかったww

Posted at

はじめに

[対象読者]
Dockerをやって見たいけどよくわからないという人

今回は、Dockerの勉強をしてみました。 
以前、理論から入って挫折したんですが手を動かしてみたらめちゃくちゃわかりやすかったですww
Dockerやりたいけどわからない人はとりあえずやってみることをおすすめします。

内容的にはまだまだ途中なので随時更新していきます。

この記事は以下の記事をやりながら自分なりに勉強になった点をまとめて見た記事です。
めちゃくちゃわかりやすいのでぜひやって見てください!
macだとコマンドがちょっと違うので引っかかるかもしれませんが質問していただければわかる範囲で答えます!
Docker入門 (第一回) ~Dockerとは何か、何が良いのか~

Docker入門(第二回)~Dockerセットアップ、コンテナ起動~

Docker入門(第三回)~各種dockerコマンドとDockerイメージ作成について~

Docker入門(第四回)~Dockerfileについて~

Docker入門(第四回)~コンテナ間通信~

Docker入門(第四回)~Docker Compose~

Docker

Dockerイメージの取得、Dockerイメージ一覧

docker pull <Dockerイメージ名>
docker images

コンテナ起動、コンテナ一覧確認

# docker run -it -d -p <ホスト側ポート>:<コンテナ側ポート> -v <ホスト側ディレクトリ>:<コンテナ側ディレクトリ> --name <コンテナ名> <Dockerイメージ名>
# docker ps -a

コンテナへのログイン

docker exec -it <コンテナ名> bash

ファイルコピー

(ホスト→コンテナ内)
docker cp <ホスト側のファイル> <コンテナ名>:<コンテナ内のコピー先ディレクトリ>

(コンテナ内→ホスト)
docker cp <コンテナ名>:<コンテナ内のコピー元ファイル> <ホスト側のコピー先ディレクトリ>

コンテナからDockerイメージ作成

docker commit <コンテナ名> <作成するDockerイメージ名>

コンテナ起動と停止

docker start <コンテナ名>
docker stop <コンテナ名>

コンテナ削除

docker rm (-f) <コンテナ名>
※「-f」オプションを付けると、コンテナ起動中でも強制的に削除します。

Dockerfile

  • FROM
    ベースとするDockerイメージを指定

  • RUN

    OSのコマンドを実行する際に使用する

  • ADD

    tar.gzファイルのコンテナへのコピーと、tarの展開を行います

  • CMD

    コンテナ起動時に実行するコマンドを記述

Dockerfileを書く際の注意点

  • Dockerfileの各コマンドは、毎回コンテナを起動して実行している
  • キャッシュを意識する(実行済みのコマンドはキャッシュが使用される)
  • Dockerfileはコマンドごとにレイヤーが作成されるのでコマンドはまとめて実行する

コンテナ間通信

コンテナ間の通信には二つある
①Dockerネットワークを作成してコンテナ名で接続できるようにする
②「--link」オプションを使用する(レガシーらしい)

Dockerネットワーク

ネットワーク詳細を確認する

docker network inspect <ネットワーク名>

ネットワーク一覧を確認

docker network ls

ネットワークを指定してコンテナを起動する

docker run --name mysql --network wordpress-network -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7

最後に

最後まで読んでいただきありがとうございます!
編集リクエストなどあればどんどんお願いします!
他の初学者の学習の助けになる情報などもあればコメントでいただければ嬉しいです!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4