Red Hat Enterprise Linux 7 / CentOS 7 に Docker をインストールする


Dockerのリポジトリを設定する

  1. 必要なパッケージをインストールします。
    CentOS 7は、デフォルトでは一般ユーザがsudoできないこと、またrootユーザのパスワードが必須なのでrootユーザで実行します。
    # yum install -y yum-utils device-mapper-persistent-data lvm2
  2. レポジトリを追加します。
    # yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Docker をインストールする

最新版のDockerをインストールします。

最新版をインストールする

  1. 最新版をインストールします。
    # yum install docker-ce docker-ce-cli containerd.io

Docker デーモンを起動する

  1. Docker デーモンを起動します。
    # systemctl start docker
  2. Docker をブート時に自動起動するには、次のように実行します。
    # systemctl enable docker

DockerにProxy を設定する

Dockerイメージを取得するためには外部ネットワークへのアクセスが必要です。直接外部ネットワークにアクセスすることができず Proxy サーバを経由している場合はDocekrに Proxy の設定が必要になります。直接外部ネットワークにアクセスすることが可能な場合には、Proxy の設定は不要です。

  1. docker.service.d ディレクトリを作成します。
    # mkdir -p /etc/systemd/system/docker.service.d
  2. /etc/systemd/system/docker.service.d/http-proxy.conf を作成し HTTP_PROXY および HTTPS_PROXY 環境変数を追加します。
    # vi /etc/systemd/system/docker.service.d/http-proxy.conf
    [Service]
      Environment="HTTP_PROXY=http://proxy.example.com:8080/"
      Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
  3. 変更を適用します。
    # systemctl daemon-reload
  4. Docker を再起動します。
    # systemctl restart docker
  5. 変更が適用されているか確認するため、以下のコマンドを実行します。
    # systemctl show --property=Environment docker

Dockerの動作確認をする

  1. 動作確認のため Hello world サンプルdocerイメージを取得して実行します。
    # docker run -rm hello-world
    $ sudo docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    1b930d010525: Pull complete
    Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
    1. The Docker client contacted the Docker daemon.
    2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
    3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
    4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
    $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
    https://hub.docker.com/
    
    For more examples and ideas, visit:
    https://docs.docker.com/get-started/
  2. サンプルdocerイメージを消去します。
    $ sudo docker rmi hello-world