LoginSignup
41
37

More than 3 years have passed since last update.

Dockerのインストール&操作方法(CentOS7.3)

Last updated at Posted at 2017-12-10

環境

  • ホストOS:CentOS 7.3-1611 64bit Minimal
  • Docker:1.12.6, build 85d7426/1.12.6

セットアップ

インストール

CentOS7の場合、yum一発で簡単にインストールできます。

$ sudo yum -y install docker

バージョンの確認

インストールできたかどうか、バージョンを確認してみます。

$ docker --version
Docker version 1.12.6, build 85d7426/1.12.6

バージョンが表示されているため、インストールに成功しています。

サービスの開始・自動起動

Dockerサービスの開始と自動起動の設定を行います。

# Dockerを開始する
$ sudo systemctl start docker

# OSの起動時にDockerが自動で起動するようにする
$ sudo systemctl enable docker

sudo なしでDockerコマンドを実行できるようにする

インストール直後、Dockerコマンドは sudo を付けないと実行できないようになっています。
そこで、こちらの記事の通りに設定し、 sudo なしでDockerコマンドを実行できるようにします。

# dockerグループを作成する
$ sudo groupadd docker

# ログイン中のユーザーをdockerグループに追加する
$ sudo gpasswd -a $USER docker

# Dockerを再起動する
$ sudo systemctl restart docker

# exitして再ログインすると反映される
$ exit

ここから先は Dockerコマンドに sudo を付けません。

操作方法

イメージのダウンロード

まず、コンテナの元となるイメージをダウンロードします。

$ docker pull {ユーザー名}/{イメージ名}

公式イメージの場合、ユーザー名はありません。

# 例:ubuntuの公式イメージをダウンロードする
$ docker pull ubuntu

イメージ一覧の表示

ダウンロードしたイメージの一覧を表示します。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/ubuntu    latest              20c44cd7596f        3 weeks ago         122.8 MB

ubuntuが表示されているため、ダウンロードに成功しています。

コンテナの作成・実行

イメージをダウンロードしたら、それを元にコンテナを作成して実行します。

$ sudo docker run ({オプション}) {ユーザー名}/{イメージ名} {コマンド}
# 例:ubuntuのコンテナを作成して実行し、シェルを操作する
$ docker run -it ubuntu /bin/bash

一瞬でubuntuが起動すると思います。コンテナ、すごいです。

コンテナの抜け方

Ctrl + p, Ctrl + qでコンテナを実行したままシェル操作などを抜けます。
exit コマンドで抜けるとコンテナが停止します。

コンテナの各操作

コンテナ一覧の表示

# 実行中のコンテナのみ表示する
$ docker ps

# 停止中のコンテナも含めて表示する
$ docker ps -a

コンテナの操作

実行中のコンテナのみ操作できます。

$ docker attach {コンテナ名} or {コンテナID}

コンテナの開始

$ docker start {コンテナ名} or {コンテナID}

コンテナの停止

$ docker stop {コンテナ名} or {コンテナID}

コンテナの削除

停止中のコンテナのみ削除できます。

$ docker rm {コンテナ名} or {コンテナID}

コンテナの一括削除

停止中の全コンテナを一括で削除します。

$ docker rm $(docker ps -aq)

docker run の主なオプション

オプション 説明
-d detached コンテナをバックグラウンド(デタッチド・モード)で実行する
-i input コンテナの標準入力を開く
-t tty コンテナの疑似端末を確保する
-p {ホスト側ポート}:{コンテナ側ポート} port コンテナのポートをホスト側に公開する(ポートフォワーディング)
-v {ホスト側ディレクトリ}:{コンテナ側ディレクトリ} volume ホストのディレクトリをコンテナ側にマウントする
-h {ホスト名} host コンテナのホストに名前を付ける
--rm remove コンテナの終了時に削除する
--name={コンテナ名} name コンテナに名前を付ける
--link="{コンテナ名} or {コンテナID}” link 他のコンテナへのリンクを追加する(非推奨)

-i-t を組み合わせる( -it )ことで、シェルを操作できます。

参考リンク

41
37
0

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
41
37