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

推薦する

HTML CSS JS はタブページのサンプルコードを実装します

コードをコピーコードは次のとおりです。 <html xmlns="">...

MySQL 自動インクリメント ID のオーバーサイズ問題のトラブルシューティングと解決策

導入Xiao A がコードを書いていたところ、DBA Xiao B が突然、「急いでユーザー固有情報...

Docker を使用して Go Web アプリケーションをデプロイする方法

目次なぜ Docker が必要なのでしょうか? Docker デプロイメントの例コードの準備Dock...

MySQLデータベースの基礎知識

目次1. データベースを理解する1.1 データベースとデータ構造の関係1.2 なぜデータベースが必要...

MySQL 8.0 再帰クエリの簡単な使用例

序文この記事では、MySQL 8.0 の新機能を使用して再帰クエリを実装します。詳細なサンプル コー...

Javascript サンプル プロジェクトでの虫眼鏡効果の実装プロセス

目次序文事例: JD.com の虫眼鏡効果の模倣オフセットシリーズクライアントシリーズスクロールシリ...

MySQL DATE_FORMAT関数の使用

タオバオが、ダブル11に最も多くの注文をした2人のユーザー、ユーザー1:「ショッピングの皇帝、陳哈哈...

Node.js コード実行をバイパスするためのヒントのまとめ

目次1. 子プロセス2. nodejsでのコマンド実行2.1 16進数エンコード2.2 ユニコードエ...

MySQL データベースで UTF-8 エンコードを設定する方法

/etc/my.cnf または /etc/mysql/my.cnf ファイルを変更する [クライアン...

MySQL Server 8.0.3 のインストールと設定方法のグラフィックチュートリアル

この文書はMySQL Server 8.0.3のインストールと設定方法を参考のために記録したものです...

MySQLからOracleへのリアルタイム同期ソリューションの詳細な説明

1 要件の概要MySQL5.6本番データベースの複数のテーブルのデータは、Oracle11gデータウ...

CSS で複数の境界線を実装するためのヒント

1. 複数の国境[1]背景: ボックスシャドウ、アウトライン使用シナリオの多様性を考慮すると、複数の...

Linuxの貼り付けコマンドの使い方

01. コマンドの概要貼り付けコマンドは各ファイルを列ごとに結合します。これは、2 つの異なるファイ...

UbuntuのVimにNERDTreeプラグインをインストールする詳細な手順

NERDTree は Vim 用のファイル システム ブラウザーです。このプラグインを使用すると、ユ...

各グループの最新データを取得するためにMySQLベースのグループを実装する

序文:グループ化関数はグループ内の最初のデータを取得しますが、各グループ内の最新のデータを取得する必...