Docker > Dockerの基本的な使い方

更新日 2020-01-26
広告
Dockerの基本的な使い方を紹介します。

Dockerとは

Dockerは、KVMやXenのような仮想マシン(計算機の仮想化)よりも軽量な「コンテナ」と呼ばれる技術の実装です。ある意味、仮想化技術の一種ですが、計算機の仮想化ではないため、ゲストOSのようなものは存在しません。仮想マシンでは、Linuxの上にWindowsを動かしたりできましたが、Dockerではそれはできません。

インストール

Dockerのインストールは、パッケージシステムから可能です。 CentOS (version 7.6)では、以下でインストールできます。
$ sudo yum install docker
Ubuntu 18.04だと以下です。
$ sudo apt install docker.io

バージョンなど

バージョンは以下で見れます。
$ docker --version
Docker version 18.09.7, build 2d0083d

起動、停止

Dockerは、デーモンを起動してあげる必要があります。
$ sudo service docker start
後述するdocker infoなどを実行して、以下のエラーが出るときは、Dockerデーモンが起動していない可能性大です。
Cannot connect to the Docker daemon. Is the docker daemon running?
dockerの状態は以下で見れます。
$ sudo service docker status
 docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: enabled)
停止は以下。
$ sudo service docker stop

プロキシの設定

プロキシ環境下でDockerを使う場合は、設定が必要です。以下はCentOSの例です。
$ mkdir /etc/systemd/system/docker.service.d
$ vi /etc/systemd/system/docker.service.d/http-proxy.conf
http-proxy.confには以下を書き込みます。(プロキシのユーザ名やパスワード、ホスト名は、お使いの環境に合わせて設定してください)
[Service]
Environment="HTTP_PROXY=http://user:pass@proxy_host:proxy_port" "HTTPS_PROXY=http://user:pass@proxy_host:proxy_port" "NO_PROXY=localhost"
プロキシを有効にするためには、再起動が必要です。
$ systemctl daemon-reload
$ systemctl restart docker

Hello World!

Dockerの基本的な情報を表示するコマンドは以下です。(sudoが必要かもしれません)
$ docker info
はじめの一歩であるhello worldを実行するコマンドは、以下です。
$ docker run hello-world

Dockerデーモンが起動していて、インターネットに正しく接続されているなら、このコマンドにより hello-world という名前のコンテナイメージがダウンロードされて、その後、Dockerコンテナとして実行されます。色々と文字が表示されるはずです。

以下のようなエラーが出る場合は、DNSでregistry-1.docker.ioを解決できないか、HTTPプロキシの設定が正しくない、という原因を疑いましょう。

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp: tls: oversized record received with length 20527.
See 'docker run --help'.
Dockerfileの中でプロキシの設定をする必要がある場合もあります。
ENV http_proxy 'http://porxy.url:port'
ENV https_proxy 'https://proxy.url:port'
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system