Ubuntuにdockerをインストールする

あなたにお勧めします##

[ Dcokerのエントリーと練習シリーズの記事](http://www.zimug.com/360.html)

Ubuntuのインストール[docker](http://www.zimug.com/tag/docker)#

[ docker](http://www.zimug.com/tag/docker)は現在、次の[ubuntu](http://www.zimug.com/tag/ubuntu)オペレーティングシステムをサポートしています。##

Note: Ubuntu Utopic 14.10 and 15.04 exist in Docker’s APT repository but are no longer officially supported.

制限係数##

$ uname -r
3.11.0- 15- generic

aptソースを更新します##

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates
# 秘密鍵を追加する
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80--recv-keys  58118E89F3A912897C070ADBF76221572C52609D

vi /etc/apt/sources.list.d/docker.list

さまざまなオペレーティングシステムに応じて、次のエントリをファイルに追加します

保存して終了

APTパッケージインデックスを更新します。###

$ sudo apt-get update
Purge the old repo if it exists.

$ sudo apt-get purge lxc-docker
Verify that APT is pulling from the right repository.

$ sudo apt-cache policy docker-engine
From now on when you run apt-get upgrade, APT pulls from the newrepository.

Prerequisites by Ubuntu Version

$ sudo apt-get update
Install the recommended package.

$ sudo apt-get install linux-image-extra-$(uname -r)
Go ahead and install Docker.

If you are installing on Ubuntu 14.04 or 12.04, apparmor is required. You can install it using:
sudo apt-get install apparmor

Dockerをインストールする##

$ sudo apt-get update
$ sudo apt-get install docker-engine
$ sudo service docker start
sudo apt-get install docker-engine=1.10.1-0~trusty

オプション##

This section contains optional procedures for configuring your Ubuntu to work better with Docker.

Dockerユーザーグループを作成する###

$ sudo usermod -aG docker <YOUR_USERNAME>

メモリとスワップスペースを調整します(スワップアカウンティング)###

Dockerを使用してイメージを実行すると、次の情報プロンプトが表示される場合があります。

WARNING: Your kernel does not support cgroup swap limit. WARNING: Your
kernel does not support swap limit capabilities. Limitation discarded.

上記のエラーメッセージが表示されないようにするには、システムのメモリとスワップスペースを有効にする必要があります。システムのGUNGRUB(GNU GRand Unified Bootloader)を変更して、メモリとスワップスペースを有効にする必要があります。開封方法は以下の通りです。

  1. sudo権限を持つユーザーを使用してUbuntuにログインします。
  2. / etc / default / grubファイルを編集します
  3. GRUB_CMDLINE_LINUXの値を次のように設定します。
    GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
  4. ファイルを保存して閉じる
  5. GRUBを更新する
    $ sudo update-grub
  6. システムを再起動します。

UFWポート転送を許可する###

dockerが実行されているホストでUFW(単純なファイアウォール)を使用する場合。追加の構成を行う必要があります。 Dockerは、ブリッジングを使用してネットワークを管理します。デフォルトでは、UFWはすべてのポート転送ポリシーをフィルタリングします。したがって、UFWを有効にしてdockerを使用する場合は、UFWポート転送戦略を適切に設定する必要があります。
デフォルトでは、UFWはすべてのインバウンドルールを除外します。他のホストがコンテナにアクセスできるかどうか。 Dockerのデフォルトポート(2375)ですべての接続を許可する必要があります。
Dockerポートのインバウンドルールを許可するようにUFWを設定します。

  1. sudo権限を持つユーザーを使用してUbuntuにログインします
  2. UFWのインストールとアクティベーションのステータスを確認します
    $ sudo ufw status
  3. / etc / default / ufwファイルを開いて編集します
    $ sudo nano /etc/default/ufw
  4. DEFAULT_FORWARD_POLICYを次のように設定します。
    DEFAULT_FORWARD_POLICY="ACCEPT"
  5. ファイルを保存して閉じます。
  6. UFWをリロードして、新しいルールを有効にします。
    $ sudo ufw reload
  7. Dockerポートのインバウンドルールを許可する
    $ sudo ufw allow 2375/tcp

Docker構成DNSサービス###

UbuntuまたはUbuntuデスクトップ乗算バージョンのどちらであっても、システムの実行中は、/ etc /resolv.conf構成ファイルの127.0.0.1をネームサーバーとして使用します。 NetworkManagerは、実際のdnsサーバー接続を使用するようにdnsmasqを設定し、/ etc /resolv.confのドメインネームサービスを127.0.0.1に設定します。
これらの構成を使用してデスクトップ環境でdockerコンテナーを実行すると、Dockerユーザーに次の警告が表示されます。

WARNING:Local(127.0.0.1) DNS resolver found in resolv.conf and containers
can't use it. Using default external servers :[8.8.8.88.8.4.4]

警告は、DockerコンテナがローカルDNSサービスを使用できないためです。代わりに、Dockerはデフォルトの外部ドメインネームサーバーを使用します。
この警告を回避するために、DockerコンテナにDNSサーバーを指定できます。または、NetworkManagerのdnsmasqを無効にすることもできます。ただし、dnsmasqを無効にすると、一部のネットワークのDNS解決が遅くなる場合があります。
Docker用のDNSサーバーを指定する

  1. sudo権限を持つユーザーを使用してUbuntuにログインします。
  2. / etc / default / dockerを開いて編集します

$ sudo nano /etc/default/docker
3. 設定を追加する

``` DOCKER_OPTS="--dns 8.8.8.8"```

8を使用.8.8.8192として置き換えます.168.1.1つのローカルDNSサーバー。複数のDNSサーバーを指定でき、複数のDNSサーバーはスペースで区切られます。たとえば

```- - dns 8.8.8.8 --dns 192.168.1.1```

 警告:使用しているコンピューターを別のネットワークに接続する必要がある場合,必ずパブリックDNSサーバーを選択してください。
  1. ファイルを保存して閉じます。
  2. Dockerプロセスを再起動します
    $ sudo restart docker
    または、前の操作の代わりに、NetworkManagerでdnsmasqを無効にします(これによりネットワークの速度が低下します)
  3. / etc / default / dockerを開いて編集します
    $ sudo nano /etc/NetworkManager/NetworkManager.conf
  4. dns = dsnmasqをコメントアウトします:
    dns=dnsmasq
  5. ファイルを保存して閉じます
  6. NetworkManagerとDockerを再起動します
$ sudo restart network-manager 
$ sudo restart docker

起動時に起動するようにDockerを構成します###

Ubuntu uses systemd as its boot and service manager 15.04 onwards and upstart for versions 14.10 and below.

For 15.04 and up, to configure the docker daemon to start on boot, run

$ sudo systemctl enable docker
For 14.10 and below the above installation method automatically configures upstart to start the docker daemon on boot

Dockerの更新(Dockerのアップグレード)###

To install the latest version of Docker with apt-get:

$ sudo apt-get upgrade docker-engine

Dockerのアンインストール(アンインストール)###

# To uninstall the Docker package:

$ sudo apt-get purge docker-engine
# To uninstall the Docker package and dependencies that are no longer needed:

$ sudo apt-get autoremove --purge docker-engine
# The above commands will not remove images, containers, volumes, or user created configuration files on your host. If you wish to delete all images, containers, and volumes run the following command:

$ rm -rf /var/lib/docker
# You must delete the user created configuration files manually.

Recommended Posts

Ubuntuにdockerをインストールする
ubuntu18.04にDockerをインストールします
Ubuntu18にDockerをインストールする
Dockerプラクティス(1):Ubuntu16.04にDockerをインストールします
オフラインでUbuntu18.04にDockerをインストールする
ubuntu18.04インストールドッカー
docker install ubuntu
docker ubuntu:14.04にpython-PIL-image環境をインストールします
Centos7にDockerをインストールする
UbuntuにRedisをインストールする
ubuntu20にR4をインストールします
Ubuntu18.04にnvtopをインストールします
Ubuntu18.04にpostgresql-10をインストールします
Ubuntu16にnodejs10をインストールします
Ubuntu14.04にmysqlをインストールします
UbuntuにDjangoをインストールします
Ubuntu16.04にPytorch + CUDAをインストールします
Ubuntu14.04にPython3をインストールします
Ubuntu18にrJavaをインストールします
UbuntuにJDK10 +をインストールする
Ubuntu16.04にPython3をインストールします
Ubuntu16.04.2にKDEをインストールします
centos6.5にDockerをインストールします
UbuntuにPython3.7をインストールする
Ubuntuにflashplayerをインストールする
Ubuntu18.04にDockerComposeをインストールする方法
ubuntuと基本的な使用法にdockerをインストールします
仮想マシンにubuntuをインストールします
Ubuntu16.04にQQロボットをインストールします
Ubuntu 18.04LTSにPython3.7をインストールします
UbuntuにAndroidStudioをインストールする
Ubuntu20.04にDockerをインストールして使用する方法
ubuntuにスクレイプフレームワークをインストールする
Centos7にdockertransferをインストールします
MysqlをUbuntuにオフラインでインストールする
UbuntuにOracleJava8をインストールする
Centosシステムにdockerをインストールします
Ubuntu16.04にOdoo11スタックをインストールします
Ubuntu16にGoロケールをインストールします
Ubuntu16.04に一般的なソフトウェアをインストールする
ポータブルでないQQをubuntuにインストールする
Ubuntu16.04にDockerをインストールして使用する方法
Ubuntu20.04にRubyをインストールする方法
Ubuntu20.04にMemcachedをインストールする方法
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVirtualBoxをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
UbuntuにTendau12ドライバーをインストールします
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
UbuntuにMySQLをインストールして構成する
ChefサーバーワークステーションをUbuntu18.04にインストールします
Ubuntu20.04にVagrantをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
ubuntuにbotan2暗号化ライブラリをインストールします
Ubuntu16.04にPostgreSQLをインストールする方法