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 の例におけるループの使用法の詳細な説明

推薦する

Docker がポート 2375 を公開し、サーバー攻撃を引き起こす問題と解決策

docker リモート API を学習した学生であれば、ポート 2375 についてよくご存知だと思い...

タブ効果を実現する js 開発プラグイン

この記事の例では、タブ効果を実現するためのjsプラグインの具体的なコードを参考までに共有しています。...

Docker コンテナ入門から夢中になるまで(推奨)

1. Docker とは何ですか?仮想マシンについては誰もが知っています。Windows に Li...

画像内のrarファイルを隠す方法

このロゴを .rar ファイルとしてローカルに保存し、解凍して効果を確認することができます。よりシン...

Dockerコンテナを作成、起動、停止する方法

1. コンテナとは、独立して実行されるアプリケーション、またはアプリケーションのグループとその動作環...

JavaScript における型の必須および暗黙的な変換の詳細な説明

目次1. 暗黙的な変換二重等号での変換ブール型変換「+」と「-」 2. 強制型変換' ...

MySQL を暗号化および復号化するいくつかの方法 (要約)

目次前面に書かれた双方向暗号化エンコード/デコードAES_ENCRYPT/AES_DECRYPT D...

Ubuntuの基本設定: openssh-serverのインストールと使用

Ubuntu 17.10 での openssh-server のインストールと使用を記録します。イン...

W3C組織はHTML4のスタイルに関する推奨事項を提供しています

これは、W3C 組織が HTML4 に対して提示したスタイル推奨事項です。残念ながら、ブラウザが独自...

MySQLリモートアクセスの設定方法をステップバイステップで説明します

序文MySQL データベースを使用する場合、クライアントはデータベース サーバーにリクエストを送信す...

MySQL開発標準と使用スキルの概要

1. 命名規則1. データベース名、テーブル名、フィールド名には小文字を使用し、アンダースコアで区切...

時間のかかるMySQLレコードのSQL例の詳細な説明

mysqlは時間のかかるSQLを記録しますMySQL は、最適化と分析のために、時間のかかる SQL...

HTML相対パスの親ディレクトリと子ディレクトリの書き方

親ディレクトリを指定する方法../ はソース ファイルの親ディレクトリを表し、../../ はソース...

Dockerコンテナを外部IPとポートにバインドする方法

Docker を使用すると、外部からコンテナにアクセスしたり、コンテナを相互接続したりすることで、ネ...

js でクラスセレクターと名前属性セレクターを実装する手順の例

jQuery の登場により、DOM の操作効率が大幅に向上し、開発がより高いレベルに引き上げられまし...