大企業営業から未経験ITエンジニアを目指すブログ

アラサー大企業営業から未経験ITエンジニアを目指すブログ。日々学んだことを忘備録的に記します。

Docker入門

dockerインストールを完了してコマンドが使用できる状態。

以下記事に従ってdockerの流れを実践。

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

https://docs.docker.jp/docker-for-windows/index.html

 

①Docker Desktopを開く

→dockerコマンドで操作できるようになる。

②試しにhello-worldイメージを取得して起動する

docker run hello-world

ローカル環境にDockerイメージが無いため、Docker Hubに探しに行き、存在すればDockerイメージをダウンロード。

hello-worldイメージのダウンロードが完了したら、そのイメージを使用してコンテナを起動させている。このhello-worldイメージは、コンテナ起動をしたら、コンテナの中でHello from Docker!~のメッセージを出力するようなDockerイメージなので、そのメッセージが出力されたら、無事起動できたということ。

③イメージ取得確認

>docker images

④コンテナとその状態確認

>docker ps -a

⑤コンテナの削除

# docker rm <コンテナ名> (コンテナ名はdocker ps -aで確認)
または
# docker rm <CONTAINER ID> (コンテナIDはdocker ps -aで確認)

→④で削除できたかどうかを確認

停止中のコンテナをそのままにしておくと、ゴミデータが残ったままになったり、ディスク圧迫にもつながるので、不要になったコンテナは削除を忘れないように!

 

⑥イメージの削除

# docker rmi <Dockerイメージ名> (docker imagesのREPOSITORYで確認?)
または
# docker rmi <IMAGE ID> (docker imagesで確認)

→③で削除できたかどうかを確認。

イメージについても、不要なイメージは削除しましょう。特に、JenkinsなどのCI(Continuous Integration) ツールを使用して、Dockerイメージの作成やコンテナ起動を自動で実行するような場合、気づかないうちに不要データが残り続けて、ディスクを圧迫することになるので注意しましょう。(Disk Fullを起こすと、Docker環境の復元も困難になる場合があるので、十分注意したほうが良いです。)

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

 

■その他のTips

・イメージの取得

docker pull <image name>

・取得したイメージを使用してコンテナを起動

docker run -d --name <命名したいコンテナ名> -p 8181:80 nginx

-d オプション・・・コンテナをバックグラウンド実行します。このオプションを付けない場合、コンテナ起動時に実行されるコマンドを実行した状態になり、例えばそのコマンドのコンソール出力が表示された状態になります。

–name オプション・・・コンテナ名を指定します。(これが無いと、自動で指定される)

-p オプション・・・ホストとコンテナ間のポートフォワード設定。-p ホストとコンテナ間のポートフォワード設定。基本的には、「-p <ホスト側のポート>:<コンテナ側のポート>」で書きます。(ホスト側を省略すると自動で設定されます。)コンテナは、Dockerにより作成されるネットワークに属するため、このオプションを使わないと、ホストのIPアドレスを用いて、コンテナで使用しているポートにはアクセスができません。

STATUSが「Up」のコンテナの停止

docker stop <container name>