概要
この記事では、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コンテナーをデプロイすることも可能です。興味があれば、この投稿でプロセスを確認できます。
お時間をいただきありがとうございます…