Dockerはコンテナポートバインディングのローカルポートを実装します

Dockerはコンテナポートバインディングのローカルポートを実装します

今日、イメージを起動した後、HTTP リクエスト経由でアクセスできないという小さな問題が発生しました。解決策を記録して共有しましょう。

一般的な Docker 起動コマンドとソリューションは次のとおりです。

1. Dockerを起動する

ご存知のとおり、コンテナを起動するコマンドは次のとおりです。

docker run イメージ名

2. コンテナポートをローカルポートにバインドする

コンテナを起動した後は、ローカルポートに直接アクセスすることができないため、ローカルポートを介してコンテナにアクセスできるように、ローカルポートをコンテナポートにバインドする必要があります。設定は以下のとおりです。

docker run -p ローカルポート: コンテナポートイメージ名

その後、ローカル ブラウザーを介してローカル ポート経由でコンテナーにアクセスできるようになります。

3. コンテナはバックグラウンドで実行されます。-d パラメータを追加します。コマンドは次のようになります。

docker run -d -p ローカルポート: コンテナポートイメージ名

4. ミラーリストを表示するには、コマンドは次のようになります。

dockerイメージls
またはDockerイメージ

5. 実行中のコンテナを表示するには、コマンドは次のようになります。

ドッカーps

補足: Dockerは実行中のコンテナにローカルポートをマッピングします

1. 実行中のコンテナをイメージとして送信する(コンテナ内の各種操作が失われないようにするため)

docker コミット tang tang1
### tang (実行中のコンテナの名前) tang1 (生成されたイメージの名前)

2. イメージを実行してポートを追加する

docker run -d -it -p 8000:80 tang1:latest /bin/bash
### 小さな p はカスタムポートで、latest はイメージのラベルです (プロフェッショナルなものを書いた方が良いでしょう)

補足: Dockerはボリュームをロードし、ポートをバインドします

必要とする

Docker イメージを取得しました。次に、コンテナを作成し、ローカル ディレクトリをコンテナ ディレクトリにロードし、ローカルとコンテナ間のポートをマップします。

具体的な例は以下のとおりです。

画像ID: 884e0fc83dfe

コンテナ名を設定: test

ローカルポート9000をコンテナのポート80にマッピングする

データボリュームをロードします。ローカルの ~/Desktop/test をコンテナの /test ディレクトリにマップします。

成し遂げる

docker run -it --name test -v ~/Desktop/test:/test -p 9000:80 884e0fc83dfe /bin/bash
# 新しいコンテナに入る
docker スタートテスト
docker アタッチテスト

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • 非ルートユーザーを使用してDockerコンテナでスクリプト操作を実行する
  • Dockerコンテナにホストディレクトリへの書き込み権限がない場合の解決策
  • Dockerコンテナの中国語言語パックの設定の問題を解決する
  • DockerコンテナがSongtiなどのフォントを認識しない場合の解決策
  • Docker の win ping 失敗コンテナ回避ガイド
  • DockerコンテナでJupyterノートブックを設定する方法
  • docker run後にコンテナがExited (0)と表示される問題を解決する
  • Dockerはコンテナに入るためにルートを使用する

<<:  CSS メニューボタンアニメーション

>>:  JavaScript の例におけるループの使用法の詳細な説明

推薦する

Vue + 要素の動的複数ヘッダーと動的スロット

目次1. 需要2. 効果3. すべてのコード1. 需要ユーザーが自分でテーブルを構成できるようになり...

MySQL ストアド関数(カスタム関数)の定義と使用方法の詳細な説明

ストアド関数ストアド関数とは: SQL コードの一部をカプセル化し、特定の関数を完了して、結果を返し...

docker compose を使ってワンクリックで分散構成センター Apollo を展開するプロセスの詳細な説明

導入分散について話すときは、分散構成センター、分散ログ、分散リンク トラッキングなどについて考える必...

Dockerコンテナのログ処理の詳細な説明

Docker には多くのログ プラグインがあります。デフォルトでは json-file を使用します...

ウェブページで Enter キーを押すと自動的にフォームを送信し、他のページにジャンプするソリューション

ウェブページでEnterキーを押すと、フォームは自動的に送信され、他のページに移動します。クエリフォ...

Ubuntu16.04 インストール mysql5.7.22 グラフィックチュートリアル

VMware12.0+Ubuntu16.04+MySQL5.7.22 インストールチュートリアルの詳...

HTML 中国語文字エンコード標準の概要

HTML では、Web ページで使用されるエンコーディングを指定する必要があります。一般的な指定方法...

HTML でフォーム コントロールを無効にする 2 つの方法: readonly と disabled

Web ページを作成する過程では、フォームがよく使用されます。しかし、フォーム上のコントロールを変更...

MySql ファジークエリ JSON キーワード取得ソリューションの例

目次序文オプション1:オプション2:オプション3:オプション4(最終的に採用されたオプション):要約...

JavaScript の Set データ構造の詳細な説明

目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...

Navicat PremiumでSQLファイルをインポートする方法

今日、最終プロジェクトに取り組み始めましたが、今年はMySQLデータベースを使用したため、Navic...

HTML チュートリアル: 順序なしリスト

<br />原文: http://andymao.com/andy/post/102.h...

MySQL ビューの原則と使用例の概要

この記事では、MySQL ビューの原理と使用法についてまとめます。ご参考までに、詳細は以下の通りです...

CSSを使用してダークモードとブライトモードを切り替える

Web Skills第5号では、CSSでダークモードやハイライトモードを実装するための技術的なソリュ...

HTML ウェブページのメタビューポート属性の説明

HTML メタビューポート属性の説明ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウ...