【Docker第1回】DockerでLinux(CentOS7)を起動し、シェルスクリプトを操作する環境を構築する

【Docker第1回】DockerでLinux(CentOS7)を起動し、シェルスクリプトを操作する環境を構築する

Dockerに入門しました。これから何回かに分けてメモを投稿していきます。

第1回はDockerでLinux(CentOS7)を起動し、シェルスクリプトを操作する環境を構築します。とりあえずDockerを触って仲良くなっていきます。

【参考記事】


【関連記事】


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を把握していきます。