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 はランダム点呼システムを実装します

推薦する

PHP スケジュールバックアップ MySQL および mysqldump 構文パラメータの詳細

まず、MySQL バックアップ コマンド mysqldump の一般的な操作例をいくつか紹介します。...

docker に nacos をインストールしてデータベースを構成する詳細なチュートリアル

環境の準備 Docker環境 MySQL 5.7 (公式イメージはmysql8をサポートしていません...

WeChatアプレット+EChartsで動的更新プロセス記録を実現

序文最近、小さなプログラムでリアルタイムにチャートを更新するという要件に遭遇しました。最初は wx-...

tomcatでcatalina.outログをカットする3つの方法の詳細な説明

1. ログセグメンテーションのためのLog4j 1) log4j-1.2.17.jar、tomcat...

MySQL に接続されている IP アドレスを表示する方法の例

具体的な方法:まずコマンドプロンプトを開きます。次に、[ mysql -u root -p ] コマ...

W3Cチュートリアル(16):その他のW3Cの活動

このセクションでは、その他の重要かつ興味深い W3C アクティビティの概要を説明します。このセクショ...

MySQL で日付時刻データを取得し、その後に .0 を追加する方法

MySQL のデータ型は datetime です。データベースに保存されているデータは 2015-0...

ウェブサイトデザインに関するヒント

実は、最近はウェブデザインについてよく耳にするようになりました。インターネット業界は今とても発展して...

MySQL 最適化技術における Limit クエリの最適化分析

序文実際のビジネスでは、ページングは​​一般的なビジネス要件です。次に、制限クエリを使用します。制限...

JS はシンプルな todoList (メモ帳) 効果を実装します

メモ帳プログラムは、HTML + CSS + JavaScript の 3 つの主要なフロントエンド...

写真をアップロードして顔を認識する Vue+axios サンプルコード

目次Axios リクエストQs処理データ分析Vantアップロードファイル形式完全なコードこの記事では...

トップに戻るボタンを実装するJavaScript

この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...

nginx をベースにリロードなしでアップストリーム サーバーの動的な自動起動と停止を実装する方法

目次1. Consulクラスタをデプロイする1. 準備3. Consulクラスタを作成する4. 管理...

CSSは座席選択効果を実現するためにautoflow属性を使用する

1. 自動フロー属性、要素コンテンツの長さと幅が要素自体の長さと幅を超える場合、スクロールバーが表示...

JavaScript Alert関数の実行順序の詳細な説明

目次質問分析する解決するAlert() 関数を置き換えるsetTimeOut関数まとめ質問数日前、J...