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 で数千万のテストデータを含むテストデータベースを作成する方法

推薦する

Vueは商品詳細ページの虫眼鏡機能を実装します

この記事では、商品詳細ページの虫眼鏡を実装するためのVueの具体的なコードを参考までに共有します。具...

setup+ref+reactive は vue3 の応答性を実装します

セットアップは、結合された API を記述するために使用されます。テンプレートが使用できるようにする...

Centos7 でスーパーバイザ デーモンをインストールして設定する方法

初心者は自分で録音しましょう1. スーパーバイザーをインストールします。 Supervisor は ...

MySQL ビッグデータ クエリ最適化エクスペリエンスの共有 (推奨)

本格的な MySQL 最適化! MySQL のデータ量が少ない場合は最適化は不要です。データ量が多い...

JavaScriptのURLオブジェクトとは何かについて話しましょう

目次概要ハッシュプロパティホストプロパティホスト名属性Href属性起源のプロパティユーザー名とパスワ...

Vant+postcss-pxtoremはブラウザ適応機能を実装します

Remレイアウトの適応Vant のスタイルでは、デフォルトで px を単位として使用します。rem ...

Jenkins でユーザー ロールの権限を設定する方法

Jenkinsのユーザーロール権限の設定には、ロール戦略プラグインのインストールが必要です。 1.ロ...

MySQL 5.7 解凍版のインストール、アンインストール、および文字化けしたコードの問題のグラフィック解決

1. 解凍版のインストール(1)圧縮パッケージをダウンロードし、ディスクの場所に解凍します。圧縮パッ...

さまざまなHTTPリターンステータスコードの詳細な説明

サイト上のページを表示するためのリクエストがサーバーに送信されると(たとえば、ユーザーがブラウザでペ...

CentOS7 systemdにカスタムシステムサービスを追加する方法

システムド: CentOS 7のサービスsystemctlスクリプトは、/usr/lib/syste...

MySql で正規表現クエリを使用する方法

正規表現は、特定のパターンに一致するテキストを検索および置換するためによく使用されます。たとえば、テ...

CSS ファイルをインポートする 4 つの方法 (インライン、インライン、外部、インポート) の詳細な説明

CSS インポート方法 - インラインスタイルタグ属性を通じて、CSSのキーと値のペアがタグに直接書...

CocosCreatorでリストを作成する方法

CocosCreator バージョン: 2.3.4 Cocos には List コンポーネントがない...

Linuxアカウントファイル制御管理の詳細な手順

Linux システムでは、ユーザーが手動で作成したさまざまなアカウントに加えて、システムまたはプログ...

jsはショッピングウェブサイトの商品の拡大鏡効果を実現します

この記事では、ショッピングサイトの商品の拡大鏡効果を実現するためのjsの具体的なコードを紹介します。...