Dockerfileの作成 yumソースを設定する cd /tmp/docker vim Dockerファイル rhel7より EXPOSE 80 22 # ポート80と22を外部に公開します COPY dvd.repo /etc/yum.repos.d/dvd.repo && yum install -y httpd openssh-server openssh-clients supervisor && yum すべてをクリーン && ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" && ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ed25519_key -N "" && echo ルート:redhat | chpasswd supervisord.conf をコピー /etc/supervisord.conf CMD ["/usr/bin/supervisord"] vim スーパーバイザー.conf [監督者] ノーデーモン=true [プログラム:sshd] コマンド=/usr/sbin/sshd -D [プログラム:httpd] コマンド=/usr/sbin/httpd docker ビルド -t rhel7:v3 ビルド コンテキストを Docker デーモンに送信しています 8.192 kB ステップ 1/6: rhel7 から ---> 0a3eb3fde7fd ステップ2/6: EXPOSE 80 22 ---> 5727c9e984a5 で実行中 ---> e25a8a0821f7 中間コンテナ 5727c9e984a5 を削除しています ステップ 3/6: dvd.repo を /etc/yum.repos.d/dvd.repo にコピーする ---> 2d9e8f9648a7 中間コンテナ 62955f7a7a74 を削除しています ステップ 4/6: rpmdb --rebuilddb を実行 && yum install -y httpd openssh-server openssh-clients supervisor && yum clean all && ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" && ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N "" && ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ed25519_key -N "" && echo root:redhat | chpasswd 依存関係が更新されました: elfutils-libelf.x86_64 0:0.166-2.el7 完了! 読み取り不可能なリポジトリ '///etc/yum.repos.d/rhel7.repo' をスキップします リポジトリのクリーニング: docker dvd-rhel すべてをクリーンアップする ---> 1cb2f9e34bac 中間コンテナ 33cb452dbc8d を削除しています ステップ 5/6: supervisord.conf をコピーする /etc/supervisord.conf ---> e8de2ff5ca3c 中間コンテナ f219cb2b6a88 を削除しています ステップ 6/6 : CMD /usr/bin/supervisord ---> eddfb3973ad2 で実行中 ---> dbf4cf5cb116 中間コンテナ eddfb3973ad2 を削除しています dbf4cf5cb116 を正常に構築しました
ドッカー検査vm1 「ネットワーク」: { "橋": { "IPAMConfig": null、 「リンク」:null、 「エイリアス」: null、 "ネットワークID": "126902125dd9c54631622845c1a75d656b45023840c57944ec24f4acecf6dc3f", "エンドポイントID": "3d995f01fce91968f59b151a19ba3868292efe0a61c2ef355bcd1eb84bda7248", 「ゲートウェイ」: 「172.17.0.1」、 "IPAddress": "172.17.0.2", # コンテナの IP "IPプレフィックス長": 16, "IPv6ゲートウェイ": "", "グローバルIPv6アドレス": "", "グローバルIPv6プレフィックス長": 0, "Macアドレス": "02:42:ac:11:00:02" } } 確認する:
sshd サービスを確認します。 補足知識: Dockerfile を使用してスーパーバイザー コンテナ デプロイメント プロジェクトをビルドします。CMD ["supervisord","-c","/etc/supervisord.conf"] の実行に失敗しました 問題の説明: スーパーバイザー コンテナを作成するための Dockerfile を作成する場合、スーパーバイザーを起動する最後のコマンド -> CMD ["supervisord","-c","/etc/supervisord.conf"] は機能しませんが、コンテナ内で supervisord -c /etc/supervisord.conf を実行すると正常に実行できます。 まずDockerfileファイルのコードを貼り付けます python:latestから ワークディレクトリ /root/ mkdir /etc/supervisorを実行します。 mkdir -p /root/projects/logs/gunicorn/ を実行します。 mkdir -p /root/projects/logs/celery/ を実行します。 mkdir -p /root/projects/Sy_EvaluateJkApi/logs/ を実行します。 実行 echo "deb http://mirrors.aliyun.com/debian/ buster main non-free contrib" > /etc/apt/sources.list 実行 echo "deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib" >> /etc/apt/sources.list 実行 echo "deb http://mirrors.aliyun.com/debian-security buster/updates main" >> /etc/apt/sources.list 実行 echo "deb-src http://mirrors.aliyun.com/debian-security buster/updates main" >> /etc/apt/sources.list 実行 echo "deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >> /etc/apt/sources.list RUN echo "deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >> /etc/apt/sources.list 実行 echo "deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >> /etc/apt/sources.list 実行 echo "deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >> /etc/apt/sources.list apt-get update -yを実行します apt-get install -y git lrzsz vimを実行します。 pip install supervisor -i https://mirrors.aliyun.com/pypi/simple/ を実行します。 pip install gunicorn -i https://mirrors.aliyun.com/pypi/simple/ を実行します。 pip install gevent -i https://mirrors.aliyun.com/pypi/simple/ を実行します。 /usr/local/bin/echo_supervisord_conf > /etc/supervisord.confを実行します。 RUN echo "[include]">>/etc/supervisord.conf 実行 echo "files = /etc/supervisor/*.ini">>/etc/supervisord.conf sy.ini を追加します /etc/supervisor/sy.ini Sy_EvaluateJkApi を追加します /root/projects/Sy_EvaluateJkApi pip3 install -r /root/projects/Sy_EvaluateJkApi/requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ を実行します。 エクスポーズ8800 CMD ["supervisord","-c","/etc/supervisord.conf"] docker build -t system:test. コマンドを使用してコンテナ イメージをビルドする場合は例外はありませんが、docker run -itd system:test を使用してコンテナを実行すると、コンテナが実行されていないことが示されます。 解決: コマンド CMD ["supervisord","-c","/etc/supervisord.conf"] を CMD ["supervisord","-n","-c","/etc/supervisord.conf"] に変更すると、正常に実行されます。 これは supervisor -n/--nodaemon -- run in the foreground (設定ファイルの 'nodaemon=true' と同じ) に書かれている内容です。-n を追加すると、supervisor はフォアグラウンドで実行され続けます。 以上、スーパーバイザー下のDockerfileのマルチサービスイメージパッケージング操作がエディターが皆さんにシェアする内容の全てです。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: js の通常形式の日付と時刻に 0 を自動的に追加する 2 つのソリューション
コンピュータ ルームのサーバー上の mysql がしばらく実行されていたのですが、突然、再起動しても...
目次序文導入ライブ使いやすいルートスコープマウント要素の指定ライフサイクルコンポーネントグローバル状...
目次導入アイデアID配列インデックスのマッピング関係を確立するツリー構造の構築原理要約する導入組織階...
最初のステップはTypeScriptをグローバルにインストールすることですnpmを使用してインストー...
目次1. はじめに: 2. プロトタイプチェーン継承: 3. コンストラクタ継承の借用(オブジェクト...
具体的なコードは次のとおりです。 <a href="#"> <...
目次問題の説明解決問題分析問題の説明MySQL で delete ステートメントを使用してデータを削...
WeChatアプレットの簡単な計算機は参考用です。具体的な内容は次のとおりです。 1. はじめに1....
Grafana をインストールします。公式 Web サイトでは、直接インストールできる Ubuntu...
1. コンポーネントと実装機能Keepalived: Haproxy サービスの高可用性を実現し、...
あなたが作成するものこの新しいチュートリアルでは、CSS と JavaScript を使用して、レス...
最近はWeb2.0という言葉をよく耳にしますが、Web2.0とは何でしょうか? Web 1.0 とど...
導入いつものように、シーンから始めましょう〜インタビュアー:「トランザクションの4つの特性をご存知で...
旧ライフサイクルと比較して 3つのフックが廃止され、2つの新しいフックが追加されましたReact16...
多くの人は、Scss を使用する瞬間からコンパイル方法を説明されてきました。したがって、コマンドのコ...