Alpine イメージに Ansible サービスを追加する方法

Alpine イメージに Ansible サービスを追加する方法

apk add ansible を使用して、alpine イメージに ansible サービスを追加します。

ステップを追加

AlpineでAnsibleを使用するには次の手順が必要です

Dockerファイル

Dockerfile に上記のステートメントを追加します。

#インストール用にapkを更新
apkアップデートを実行する
#ansibleとopensshをインストールする
apkを実行してansible opensshを追加します
#init ansible ホストファイル
mkdir -p /etc/ansibleを実行します。
echo "localhost" を実行します >/etc/ansible/hosts
#init rsa ssh キーペア
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa を実行します。
#キャッシュファイルを削除する 
rm -rf /var/cache/apk/* を実行します。

ミラーの使用

画像をプルする

約103M

[root@occluster ~]# docker pull liumiaocn/ansible
デフォルトタグの使用: 最新
リポジトリ docker.io/liumiaocn/ansible をプルしようとしています... 
最新: docker.io/liumiaocn/ansible からプル
ff3a5c916c92: すでに存在します 
42a81541f983: プル完了 
86602ac17bcb: プル完了 
73cb14e49a3f: プル完了 
bdfcad59d746: プル完了 
455ffeaa5bf1: プル完了 
dff32643cfa5: プル完了 
ダイジェスト: sha256:46284f3d3b9e3880f9b65fa6b1fb225b19bc88222badf74aa85936aabc24090f
ステータス: docker.io/liumiaocn/ansible:latest の新しいイメージをダウンロードしました
[ルート@occluster ~]# 
[root@occluster ~]# docker イメージ |grep ansible
docker.io/liumiaocn/ansible 最新 8a5cfdf8243f 1 秒未満前 103 MB
[ルート@occluster ~]#

使用

バージョンを確認する

[root@occluster ~]# docker run -it --name ansible liumiaocn/ansible sh
/ # アンシブル --version
アンシブル 2.4.1.0
 設定ファイル = なし
 設定されたモジュール検索パス = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
 ansible python モジュールの場所 = /usr/lib/python2.7/site-packages/ansible
 実行ファイルの場所 = /usr/bin/ansible
 python バージョン = 2.7.14 (デフォルト、2017 年 12 月 14 日、15:51:29) [GCC 6.4.0]
/ #

ホスト(192.168.163.172)と通信するには、事前にsshチャネルを設定し、ssh-copy-idを使用します。

/#sshコピーID 192.168.163.172
/usr/bin/ssh-copy-id: INFO: インストールされるキーのソース: "/root/.ssh/id_rsa.pub"
ホスト「192.168.163.172 (192.168.163.172)」の信頼性を確立できません。
ECDSA キーのフィンガープリントは SHA256:uh84Xw56LhiCXb1b0uFbX/CoFhkqHGZjtmLwl3qkTOY です。
本当に接続を続行しますか (はい/いいえ)? はい
/usr/bin/ssh-copy-id: INFO: すでにインストールされているキーを除外するために、新しいキーでログインしようとしています
expr: 警告: '^ERROR: ': 最初の文字として '^' を使用しています
基本的な正規表現は移植性がなく、無視されます
/usr/bin/ssh-copy-id: INFO: インストールするキーが 1 つ残っています -- ここでプロンプトが表示された場合は、新しいキーをインストールしてください
[email protected]のパスワード: 
追加されたキーの数: 1
ここで、「ssh '192.168.163.172'」を使用してマシンにログインしてみます。
必要なキーだけが追加されたことを確認します。
/ #

SSHアクセス確認

/#ssh 192.168.163.172 ホスト名
クラスター
/ #

Ansibleアクション確認

/ # echo "192.168.163.172" >>/etc/ansible/hosts
/ # アンシブル 192.168.163.172 -m ping
192.168.163.172 | 成功 => {
  「変更」: false、 
  「失敗」:偽、 
  「ピン」:「ポン」
}
/ #

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Telnet は Alpine イメージの busybox-extras に移動されました
  • alpineをベースにdockerfileで作成したtomcatイメージの実装
  • alpineをベースにdockerfileで作成したクローラーScrapyイメージの実装
  • Docker で php-nginx-alpine イメージをゼロから構築する方法
  • Ansibleを使用してTomcatをバッチでデプロイする方法
  • Centos に Ansible をインストールするためのサンプル コード
  • Python Ansible サービスとスクリプトの作成
  • Python モジュール ライブラリ メソッドの例としての Ansible
  • Linuxの自動運用・保守ツールAnsibleの使い方を詳しく解説
  • クラスタ運用・保守自動化ツールAnsibleはプレイブックを使用してZabbixクライアントをインストールします

<<:  Win7 64 ビット版に MySQL 5.7 をダウンロードしてインストールする際によくある問題の概要

>>:  JS はランダム点呼システムを実装します

推薦する

MySQL 5.7.25 のインストールと設定方法のグラフィックチュートリアル

MySQL インストール ファイルには、msi 形式と zip 形式の 2 種類があります。クリック...

HTML で複数のフォームのテキスト ボックスを揃える方法

フォームのコードは図の通りです。スタイルシートがまだ追加されていないため、フォームが整列されておらず...

画像を読み込むための JavaScript キャンバス

この記事では、画像を読み込むためのJavaScriptキャンバスの具体的なコードを参考までに紹介しま...

ウェブページの幅を携帯電話の画面(ビューポート)の幅に自動的に適応させる実装コード

一般的な書き方は次のとおりです。 XML/HTML コードコンテンツをクリップボードにコピー<...

nginx で複数のフロントエンド プロジェクトをデプロイするいくつかの方法

nginx を使用して 1 つのサーバーに複数のフロントエンド プロジェクトをデプロイする 3 つの...

円形/扇形メニューを2分で実装する方法を教えます(基本バージョン)

序文このプロジェクトでは円形のメニューが必要です。オンラインで検索しましたが、適切なものが見つからな...

Linux で XFS パーティション形式のルート ディレクトリを縮小する方法

目次序文システム環境現在のシステムパーティションレイアウトデータのバックアップレスキューモードに入る...

Webpack パッケージング CSS 背景画像パスの問題に対する完璧なソリューション

vue コンポーネントのスタイル タグ内には、背景画像を使用する次の CSS コードがあります。 背...

webpackの遅延読み込みとプリロードの詳細な説明

目次通常の読み込み遅延読み込みプリロードプリロードを使用しないプリロードの使用要約する通常の読み込み...

JavaScript は、マウスがテーブル行を通過するときに色の識別を実装します。

この記事では、マウスがテーブルの行を通過するときにJavaScriptを使用して色ラベルを表示する方...

JavaScript でグレイウルフのポットビーティングゲームを実装

1. プロジェクト文書 2. ページレイアウトにHTMLとCSSを使用するHTML部分 <di...

Nginx セッション共有問題の解決策の分析

この記事は主に、Nginx セッション共有の問題に対する解決策を紹介します。記事内のサンプル コード...

JavaScript の矢印関数と通常の関数の違いの詳細な説明

この記事では、JavaScriptにおけるアロー関数と通常の関数の違いについて解説します。具体的な内...

Vue3サンドボックスの仕組みの詳しい説明

目次序文ブラウザコンパイル版ローカルプリコンパイルバージョン要約する参照する序文vue3サンドボック...

Dockerはredis 5.0.7をインストールし、外部構成とデータの問題をマウントします

Redis は、ANSI C で記述されたオープンソースの NoSQL データベースであり、ネットワ...