Dockerに入門しました。これから何回かに分けてメモを投稿していきます。
第1回はDockerでLinux(CentOS7)を起動し、シェルスクリプトを操作する環境を構築します。とりあえずDockerを触って仲良くなっていきます。
【参考記事】
- 【Udemy】もう怖くないLinuxコマンド。手を動かしながらLinuxコマンドラインを5日間で身に付けよう
- 【3週間で学ぶ】Amazon Linux Bash シェルスクリプト実践講座!!初心者でも1からマスターする
【関連記事】
- 【第1回】Dockerインストール→Linux(CentOS7)を起動
- 【第2回】Linuxの概要/GCPでUbuntuをインストール
- 【第3回】WEBサーバを構築(Nginx)/ネットワークの概要
- 【第4回】WEBアプリ構築/Dockerでの環境構築準備
- 【第5回】Dockerの概要
- 【第6回】Dockerのインストール・作成・起動・停止
- 【第7回】PHPの開発環境を構築(PHPとApacheのみ)
- 【第8回】PHPの開発環境を構築(docker-composeで複数コンテナを一括で起動)
- 【第9回】PHPの環境構築_その2_(環境構築自動化)
DockerでCentOS7のイメージを利用する
Dockerのインストール
手順は以下の通り。まず、DockerをMacにインストールし、Docker Desktopを起動する。
- 以下のURLに遷移
https://docs.docker.com/desktop/install/mac-install/ - Docker.dmgをダウンロードする
- Finder → Download → Docker.dmg をダブルクリック
- アプリランチャー → Dockerを起動
- Accept
- Docker Desktopが起動したことを確認
CentOS 7 のイメージを取得する
Macのターミナルで以下を実施
# コマンド
docker pull centos:centos7
# 取得したDockerイメージ確認
# centos7が取得できたことを確認
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos centos7 c9a1fdca3387 11 months ago 301MB
CentOS 7 イメージを使ってみる
コンテナの作成・起動
Dockerイメージからコンテナを作成して起動するには docker run コマンドを利用。
docker run コマンドの書式は次の通り。
# 書式
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# コマンド
docker run -it -d --name centos7 centos:centos7
6366d64eccea52fa43cc6f745817ed76169a468545955502bd790e4257725a5c
ここで利用したオプションの意味は次の通り。
オプションの意味
-it コンテナのプロセスにttyを割り当てる
-d コンテナをバックグラウンドで実行する
–name 作成するコンテナに名前をつけるオプション
以上でコンテナが作成されて起動された。
起動確認
# コマンド
docker ps
# 実行結果
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6366d64eccea centos:centos7 "/bin/bash" About a minute ago Up About a minute centos7
CentOS 7 を操作してみる
docker exec コマンドでコンテナ内のコマンドを実行する。docker exec コマンドの書式は次の通り。
docker exec -it centos7 /bin/bash
# 実行結果
# プロンプトが変わったことが確認できればOK
#
あとは CentOS 7 におけるコマンドが実行可能になる。
なお、コンテナ内で exit コマンドを実行することでコンテナから抜け出すことができる。
コンテナの停止・起動
CentOS を一時的に停止する場合ば docker stop コマンドを利用する。
次のように、コマンドの引数としてコンテナ名を指定。
docker stop centos7
# 実行結果
centos7
コンテナが停止したことを確認するために、先ほどと同様に docker ps コマンドでコンテナを一覧表示させて状態を確認する。
ただし、停止したコンテナは -a オプションをつけないと表示されないため、次のように実行する。
# コマンド
docker ps -a
# 実行結果
# centos7がリストされていることを確認
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e735565de68a centos:centos7 "/bin/bash" 2 hours ago Exited (137) 2 minutes ago centos7
停止したコンテナを再度起動したい場合は docker start コマンドにコンテナ名を指定して実行する。
# コマンド
docker start centos7
コンテナの削除
最後に、コンテナを使い終わって不要になった場合は、cocker rm コマンドにコンテナ名を指定すると削除することができる。
# ストップコマンド
docker stop centos7
# 削除コマンド
docker rm centos7
コンテナを削除すると、docker ps -a コマンドを実行しても表示されず、削除されたことがわかる。
まとめ
とりあえずDockerのインストールとCentOSのインストールまではできました。ただし、概念を把握していないので、ちょっと業務ではまだ使えなそう。。
目標としては、個人開発環境をMacのローカル→Dockerに移行したいので、そこまでできるように、第2回以降ではもっと深掘りしてDocekerを把握していきます。