GNU/Linux >> Linux の 問題 >  >> Linux

Dockerデーモンへのリモートアクセスを設定する方法

システム管理者であり、複数のDockerホストを管理している場合は、各Dockerホストに接続し、コマンドを実行してDockerを管理する必要があります。これは時間のかかるプロセスになる可能性があります。ここでDockerデーモンが登場します。 Dockerデーモンを使用すると、TCPを介してリモートのDockerホストに接続できます。このようにして、各Dockerホストに個別にログインしなくても、ローカルシステムから複数のDockerホストを管理できます。

この投稿では、TCPを介してDockerホストを管理するようにDockerデーモンを構成する方法を紹介します。

前提条件

  • Atlantic.Netクラウドプラットフォーム上の新しいUbuntu20.04サーバー
  • 仮想プライベートサーバーで設定されたルートパスワード

ステップ1-Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてUbuntu20.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

Ubuntu 20.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

apt-get update -y

ステップ2–DockerCEをインストールする

まず、次のコマンドを使用して、必要なすべての依存関係をインストールします。

apt-get install git apt-transport-https ca-certificates curl software-properties-common -y

次に、次のコマンドを使用してDockerGPGキーを追加します。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add –

次に、次のコマンドを使用してDockerリポジトリを追加します。

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

リポジトリが追加されたら、次のコマンドを使用してDockerとDockercomposeをインストールします。

apt-get install docker-ce docker-compose -y

インストールが完了したら、次のコマンドを使用してDockerのバージョンを確認します。

docker --version

次の出力が表示されます。

Docker version 20.10.5, build 55c4c88

ステップ3–Dockerデーモンを構成する

まず、Dockerデーモン構成ファイルを保存するディレクトリを作成する必要があります。次のコマンドで作成できます:

mkdir -p /etc/systemd/system/docker.service.d

次に、デーモンオプションを保存するための新しいファイルを作成します。

nano /etc/systemd/system/docker.service.d/options.conf

次の行を追加します:

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2375

ファイルを保存して閉じてから、systemdデーモンをリロードして変更を適用します。

systemctl daemon-reload

次に、Dockerサービスを再起動して、変更を適用します。

systemctl restart docker

この時点で、Dockerデーモンが構成され、ポート2375でリッスンしています。次のコマンドで確認できます。

ps aux | grep dockerd

次の出力が得られるはずです:

root       48453  1.2  2.4 1005080 98520 ?       Ssl  00:58   0:00 /usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2375
root       48775  0.0  0.0  12108   992 pts/0    S+   00:58   0:00 grep --color=auto dockerd

ステップ4–Dockerデーモンに接続するようにローカルシステムを構成する

開始する前に、DockerとDockercomposeがローカルシステムにインストールされていることを確認してください。次に、リモートDockerホスト上のDockerデーモンに接続するようにローカルシステムを構成する必要があります。

単一のワンライナーを使用して、Dockerデーモンに直接接続し、リモートのDockerホストでコマンドを実行できます。 DOCKER_HOST変数を使用して、Dockerデーモンアドレスを定義できます。

たとえば、次のコマンドを実行して、リモートDockerホストでdockerinfoコマンドを実行します。

DOCKER_HOST=tcp://remote-docker-host-ip:2375 docker info

または

docker -H tcp://remote-docker-host-ip:2375 docker info

dockerinfoコマンドの出力は次のようになります。

Containers: 2
Images: 3
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Execution Driver: 
Kernel Version: 4.18.0-193.6.3.el8_2.x86_64
Operating System: CentOS Linux 8 (Core)
CPUs: 2
Total Memory: 3.846 GiB
Name: centos8
ID: S56P:VPIW:CMGZ:GAFN:YZNG:22CE:OBY3:SKEW:JAMT:DLD4:FG5K:QXYR
Http Proxy: 
Https Proxy: 
No Proxy: 
Labels:

以下に示すように、リモートホストでdocker-composeコマンドを実行することもできます。

docker-compose -H tcp://remote-docker-host-ip:2375 --version

.bashrcファイルでDOCKER_HOST変数を設定することもできます。そのため、dockerまたはdocker-composeコマンドを実行するたびに指定する必要はありません。

次のコマンドで設定できます:

echo "export DOCKER_HOST=tcp://remote-docker-host-ip:2375" >> ~/.bashrc

次に、次のコマンドを使用して構成をアクティブ化します。

source ~/.bashrc

これで、dockerおよびdocker-composeコマンドをローカルで実行するだけで、リモートのDockerホストを管理できます。

たとえば、次のコマンドを実行して、リモートホスト上のDockerのバージョンを確認します。

docker --version

結論

上記のガイドでは、TCPを介してリモートDockerホストに接続し、ローカルシステムから管理するようにDockerデーモンを構成する方法を学習しました。これにより、Dockerの日常のタスクがはるかに簡単になることを願っています。今すぐAtlantic.NetのVPSでDockerデーモンの使用を開始してください!


Linux
  1. コメントされたコマンドの最後の引数にアクセスする方法は?

  2. 実行中のDockerコンテナでコマンドを実行する方法

  3. Docker コマンドが Docker デーモンに接続できない

  1. Linux Rsync(リモート同期)コマンドの使用方法

  2. DockerEngineのセキュリティを評価する方法

  3. DockerInspectコマンドの使用方法

  1. GNOMEBoxesのリモートアクセス機能の使用方法

  2. ベアメタルクラウドリモートアクセスVPNを設定する方法

  3. MySQLマスタースレーブレプリケーションを設定する方法