GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Ansibleを使用してDockerをインストールする方法[Debian/Ubuntu]

概要

この記事では、Ansibleを使用してDockerをインストールするプロセスを紹介します。 5行のコードのみを含むAnsibleプレイブックを作成します。このような小さなプレイブックを作成できるようになるのは、Dockerインストールプロセスを自動化する公式のDockerインストールスクリプトです。このスクリプトは、Debian、Ubuntu、Fedora、RedHat、CentOS、OpenSuse、Raspbianなどの多くの主要なLinuxディストリビューションで動作します。使用するスクリプトは、次の場所で確認およびダウンロードできます– docker install script 。この例では、Ansibleを使用してDockerをDebian11仮想マシンにインストールします。

彼らのスクリプトはDockercomposeをインストールしませんが、それでも素晴らしいスクリプトです。

このプロセスは、ベアメタル、VM、クラウドサーバーなど、あらゆるタイプのLinuxマシンに適用できます。

別の注意事項 – Ansibleを使用してDockerコンテナーをデプロイするプロセスについても説明しました–この投稿でプロセスを確認でき、Ansibleを使用してNextcloudとWordPressをDockerにデプロイする方法を確認できます。

前提条件

Ansibleを使用してDockerを正常にインストールするには、次の前提条件が必要です。

  • ホストグループ(Linuxサーバーマシン/ VMS)でSSHアクセスを有効にしました
  • sudo権限を持つユーザー(オプション– rootアカウントを使用する場合)
  • Linuxサーバーにインストールされたcurlツール

Ansibleとは何ですか?

Ansibleは、オープンソースのソフトウェアプロビジョニング、構成管理、およびアプリケーション展開ツールであり、インフラストラクチャをコードとして有効にします。多くのUnixライクなシステムで動作し、UnixライクなシステムとMicrosoftWindowsの両方を構成できます。

インベントリと変数を使用してホストファイルを作成します

まず、リモートノードでhostsファイルを作成し、ログイン変数を設定する必要があります。

sudo nano /etc/ansible/hosts

テキストファイルで、次のようにホストパラメータを追加します。

[docker]
192.168.122.87

[docker:vars]
ansible_user=sudouser1
ansible_password=user1password
ansible_become_password=user1password

ファイルを保存して終了します。

ホストファイルの内訳:

[ドッカー]
192.168.122.87 – dockerという名前のホストグループの下のリモートホスト(vm / server)IPアドレス

[docker:vars]

ansible_user – sudo権限を持つユーザーのユーザー名(rootユーザーを設定することもできます)

ansible_password –sudoユーザーパスワード

ansible_become_password – sudoユーザーパスワード(sudoアクセスを実行する必要があるコマンドを実行するときのsudo特権用)

.yamlプレイブックを作成する

構成を追加する必要がある.yamlプレイブックを作成するための次のステップ。プレイブックファイルはどこでも作成できます:

nano docker-install.yml

テキストエディタが開いたら、以下から設定をコピーして貼り付け(インデントに注意)、ファイルを保存します。

---
- hosts: docker
  tasks:
  - name: Install Docker
    ansible.builtin.shell: cd ~ && curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh

プレイブックの内訳:

ホスト:docker –この本が実行され、Dockerホストグループにのみ適用されることを指定しました。

タスク: –実行するタスクがあることを指定しました

名前: 実行しているタスクの名前

ansible.builtin.sheel: –リモートLinuxサーバーでbashシェルコマンドを実行できるようにするAnsibleシェルモジュール

Ansibleプレイブックで実行したシェルコマンド:

「cd〜 &&curl -fsSL https://get.docker.com -o get-docker.sh &&sudoshget-docker.sh」

上記のシェルコマンドは次のように動作します。最初にユーザーのホームディレクトリに移動し、ホームディレクトリにDockerインストールスクリプトをダウンロードして、同じインストールスクリプトを実行します。

プレイブックを実行する

リソース、マシン、およびプレイブックファイルの準備ができたら、プレイブックを実行してDockerインストールプロセスを初期化できます。以下を実行して、特定のホストグループに対してのみプレイブックを実行します。

ansible-playbook docker-install.yml -l docker

プレイブックを開始してから完了するまでに約10分かかります(多分もう少し、それは多くの要因に依存します)。

Ansibleがプレイブックの実行を終了し、上の図のような成功したレポートを取得したら、Dockerが正常にインストールされているかどうかを再確認できます。 Dockerはすぐに実行されているはずであり、次のコマンドで確認できます:

sudo systemctl status docker.service

sudo docker ps

概要

記事を要約すると、Ansibleを使用してDockerをインストールする方法の手順を実行しました。 SSH接続用のログイン変数を使用してリモートノードを追加し、公式のDocker自動インストールスクリプトをダウンロードしてDockerを自動的にインストールする同じスクリプトを実行する.yamlプレイブックを作成して実行したhostsファイルが作成されました。このスクリプトのおかげで、.yamlプレイブックは5行の設定のみで構成されています。

DockerのインストールはAnsibleで可能であるため、Dockerコンテナーをデプロイすることも可能です。興味があれば、この投稿でプロセスを確認できます。

お時間をいただきありがとうございます…


Docker
  1. Ansibleを使用してDockerにNextcloudをデプロイする

  2. Dockerを使用してJenkinsをインストールする方法

  3. Dockerを使用してWordPressをインストールする方法

  1. RaspberryPiにDockerをインストールする方法

  2. DockerコンテナにVimをインストールする方法

  3. CentOSにDockerをインストールする方法

  1. Dockerを使用してONLYOFFICEと統合されたNextcloudをインストールする方法

  2. CentOS8にAnsibleAWXをインストールする方法

  3. Debian10にAnsibleAWXをインストールする方法