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

推薦する

Docker で既存のイメージに基づいて新しいイメージを構築する方法

既存のイメージから新しいイメージを構築することは、Dockerfile ドキュメントを通じて行われま...

フレームセットを使用してワイドスクリーンを中央に配置するためのヒントを共有する

コードをコピーコードは次のとおりです。 <フレームセット cols="*,1280,...

vue_drf は SMS 認証コードを実装します

目次1. 需要1. 需要2. SDKパラメータ設定1. ディレクトリ構造3. コードの実装1. バッ...

mysql-joinsの具体的な使用方法

目次結合構文: 1. InnerJOIN: (内部結合) 2. LeftJOIN: (左結合) 3....

MySQL実践スキル: 2つのテーブルに異なるデータがあるかどうかを比較する方法の分析

この記事では、MySQL が 2 つのテーブルを比較して、異なるデータがあるかどうかを確認する方法を...

Linux で ss コマンドと zabbix を組み合わせてソケットを監視する方法の詳細な説明

目次序文1. ssコマンド2. Zabbix監視マシンの全体的なソケットステータス2.1. スクリプ...

Linux サーバーでの MySQL インストール情報の表示

mysql のインストール情報を表示します。 #ps -ef | grep mysql usr/bi...

CSSスタイルで実現されるHTML背景色のグラデーション効果

エフェクトのスクリーンショット:実装コード:コードをコピーコードは次のとおりです。 <!DOC...

Linux (Centos7) に mysql8.0.18 をインストールするチュートリアル図

1 インストールリソースパッケージmysql-8.0.18-1.el7.x86_64.rpm-bun...

CSS 画像アニメーション効果のサンプルコード(フォトフレーム)

この記事では、CSS 画像アニメーション効果(フォトフレーム)のサンプルコードを紹介し、皆さんと共有...

子コンポーネントを通じて親コンポーネントのプロパティを変更するための Vue のさまざまな実装方法

目次序文一般的な方法1. 親コンポーネントを介して子コンポーネントの発行イベントをリッスンしてpro...

Nginxでネットワーク分離を解決した実践記録を詳しく解説

必要最近、Node オンライン サービスを移行する必要があったため、2 つの新しいオンライン サーバ...

TypeScript の基本型の紹介

目次1. 基本タイプ2. オブジェクトタイプ2.1 配列2.2 タプル2.3 オブジェクト3. 型推...

Vueタイマーの実装方法

この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

SpringBoot と Docker の統合の詳細なプロセス

目次1. デモプロジェクト1.1 インターフェースの準備1.2 構成の準備2. Dockerがリモー...