docker実行時に異なるポートを占有する2つのポートを起動する問題を解決する

docker実行時に異なるポートを占有する2つのポートを起動する問題を解決する

問題の説明:

docker run -p 19918:19918/tcp -v /etc/localtime:/etc/localtimeを実行した後

Docker ps では、ポート 19918 と別のポートが開始されており、レジストリに実行プログラムが見つからないことが示されています。

問題分析:

起動した他のポートは以前に構成されていました。実行中にビルドされたプロジェクトに加えて、以前のコンテナが実行されたと推測されます。

解決:

Docker イメージ内のコンテナを表示し、同じコンテナと実行された 2 つのポート コンテナを削除します。もう一度実行すると成功が表示されます。

要約:

命名規則に従い、不要なコンテナを適時に削除します。

追加知識: docker の起動時に複数の異なるプロセスを実行し、ssh をインストールし、docker の起動時に jenkins と同時に実行を開始します。

最近、Jenkins スレーブ ノードで作業していたとき、マスターとの接続を確立するために ssh をインストールする必要がありました。このとき、スレーブに ssh サービスをインストールする必要がありましたが、ノードを再起動した後、手動で ssh を開始する必要がありました。

トラブルを避けるために、起動するときにsshとjenkinsサービスを実行してください。

1. docker が実行中の場合、ssh を起動するには root 権限が必要です。そうでないと、sshd で多くのことを実行する権限がありません。

したがって、dockerを実行するときは、パラメータ--user rootを追加します。

docker run -d --user root --name jenkins_nodes3 --add-host gitlab.com:100.20.20.100 -v /home/_data_slave:/var/jenkins_home -p 8188:8080 -p 51005:50000 -p 8122:22 jenkins_ssh

2. /usr/local/bin/jenkins.shスタートアップファイルを変更し、次の行を追加します。

/usr/sbin/sshd -D > null 2>&1 &

独自のプログラムの場合は、ログを独自のログファイルにリダイレクトできます。

docker を実行するときに、異なるポートを占有する 2 つのプロセスを開始するという問題を解決する上記の記事が、私が皆さんと共有できるすべてです。この記事が皆さんの参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux の Docker コンテナで bash を終了する 2 つの方法
  • Dockerはプロセス操作を管理するためにSupervisorを使用する
  • dockerでsshd操作を有効にする

<<:  JavaScript で知らない Object.entries の使い方

>>:  MySQL で数千万のテストデータを含むテストデータベースを作成する方法

推薦する

SpringBoot プロジェクトの Docker 環境を実行するときに発生する無限再起動問題の詳細な説明

もしかしたら私の考え方が間違っていたのかもしれないし、問題の説明が少し乱雑だったのかもしれないが、こ...

Vueはキャンバスの手書き入力を使用して中国語を認識します

効果画像: 序文:最近、屋外の大画面プロジェクトに取り組んでいました。システムの入力方法は使いにくか...

HTML でスタイルを使用して属性を追加する例

必要なリンクにインライン スタイルを追加します。コードをコピーコードは次のとおりです。 <a ...

Vueのハッシュジャンプ原理の詳細な説明

目次ハッシュと履歴の違いハッシュ履歴getCurrentLocation の実装setupListe...

CocosCreatorプロジェクト構造の仕組みの詳細な説明

目次1. プロジェクトフォルダ構造1. アセットフォルダ2. 図書館3. ローカル設定(ローカル) ...

docker システムコマンドセットの使用

目次docker システム df docker システム プルーンdocker systemc 情報...

MySQL データベース テーブルとデータベース パーティショニング戦略

まず、テーブルを分割する必要がある理由について説明します。データシートが数百万に達すると、1 回のク...

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

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

絵文字と問題解決のためのMySQL/Javaサーバーサポートの詳細な説明

この記事では、絵文字用の MySQL Java サーバーのサポートと問題解決方法について説明します。...

ランダムな文字を生成する Java サンプルコード

サンプルコード: java.util.Random をインポートします。 java.util.UUI...

ウェブページデザインのための4つの実践的なヒント

関連記事: Web コンテンツ ページを作成するための 9 つの実用的なヒント<br />...

MySQL ステートメントの配置と概要の紹介

SQL (Structured Query Language) ステートメント、つまり構造化クエリ言...

SpringBoot でマイクロサービスを構築するために Docker を使用した実際の記録を分析する

それは何ですか? Spring Boot は、Spring オープンソース組織のサブプロジェクトであ...

シンプルなページング効果を実現するjQuery+Ajax

この記事では、ページング効果を実現するためのjquery+Ajaxの具体的なコードを参考までに紹介し...

React コンポーネント間で通信する 3 つの方法 (シンプルで使いやすい)

目次1. 親子コンポーネント通信2. クロスレベルコンポーネント通信1. レイヤーごとに値を渡す2....