Docker > Dockerの基本的な使い方
更新日
2020-01-26
広告
Dockerの基本的な使い方を紹介します。
Dockerとは
Dockerは、KVMやXenのような仮想マシン(計算機の仮想化)よりも軽量な「コンテナ」と呼ばれる技術の実装です。ある意味、仮想化技術の一種ですが、計算機の仮想化ではないため、ゲストOSのようなものは存在しません。仮想マシンでは、Linuxの上にWindowsを動かしたりできましたが、Dockerではそれはできません。インストール
Dockerのインストールは、パッケージシステムから可能です。 CentOS (version 7.6)では、以下でインストールできます。$ sudo yum install dockerUbuntu 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.confhttp-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 まで。