1. nginxをダウンロードする [root@localhost my.Shells]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ docker.io/redis 最新 1e70071f4af4 6 週間前 106.7 MB [root@localhost my.Shells]# docker pull nginx //nginxをダウンロード デフォルトタグの使用: 最新 リポジトリ docker.io/library/nginx をプルしようとしています... 最新: docker.io/library/nginx からプル e7bb522d92ff: プル完了 6edc05228666: プル完了 cd866a17e81f: プル完了 ダイジェスト: sha256:285b49d42c703fdf257d1e2422765c4ba9d3e37768d6ea83d7fe2043dad6e63d [root@localhost my.Shells]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ docker.io/nginx 最新 3f8a4339a 3 週間前に追加 108.5 MB docker.io/redis 最新 1e70071f4af4 6 週間前 106.7 MB 2. nginxを実行する [root@localhost my.Shells]# docker run -p 8080:80 -d docker.io/nginx // ポート 80 を 8080、または 80:80 または元のポート 80 にマップします。省略できません。 c0462d5e18783e20f9515108fa62ab0f2ac808ea85370a7c82aee9407abf4672 [root@localhost my.Shells]# netstat -anp | grep 8080 //ポートtcp6が有効 0 0 :::8080 :::* LISTEN 2529/docker-proxy-c [root@localhost my.Shells]# docker ps //nginxはすでに実行されています コンテナID イメージ コマンド 作成済み ステータス ポート 名前 c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" 4 分前 4 分前にアップ 0.0.0.0:8080->80/tcp angry_mccarthy 3. 運用結果 [root@localhost my.Shells]# ./openFirewallPort.sh // ファイアウォールのポートを開くには、まずポートを入力します: 成功 ---openFirewallPort.sh------- echo "ポートを入力してください: " 読み取りポート ファイアウォールコマンド --add-port=$port/tcp #次の画像に正常にアクセスしました 知らせ: docker が nginx を実行する場合、外部アクセスは docker が配置されている IP アドレスのままとなり、そのマシン上で nginx が実行されていることと同等になります。 しかし、docker が配置されているマシンの場合、nginx は docker にアタッチされたイメージです。 nginx を操作したい場合は、docker 経由で nginx コンテナにログインして操作を行うことができます。 ログインした nginx コンテナは Linux システムですが、デフォルトの Linux パスに従ってインストールされた nginx のみが含まれています。例えば bash コマンドは同じですが、vi は私のマシンでは使用できません。ただし、nginx は設定されており変更できないため、cp や mv などのコマンドは使用できます。 1) nignx コンテナにログインする前に、必要なファイルを書き込んで、指定されたディレクトリにコピーすることができます。
2) ホストディレクトリ経由でコンテナにマッピングする docker run -p 80:80 -d -v $PWD/html:usr/share/nginx/html docker.io/nginx つまり、ホストの下のhtmlはコンテナの下のusr/share/nginx/htmlです。 html内のファイルの変更と追加は、コンテナusr/share/nginx/html内のファイル操作と同等です。 外部ネットワーク経由でアクセスできるため、コンテナにログインしてファイルを操作する必要はありません。 4. サービスを停止する [root@localhost my.Shells]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" 56 分前 56 分前 0.0.0.0:8080->80/tcp angry_mccarthy [root@localhost my.Shells]# docker stop c0462d5e1878 c0462d5e1878 [root@localhost my.Shells]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 5. サービスを再起動する [root@localhost my.Shells]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 [root@localhost my.Shells]# docker start c0462d5e1878 c0462d5e1878 [root@localhost my.Shells]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" 59 分前 12 秒前に起動 0.0.0.0:8080->80/tcp angry_mccarthy 6. 同じサービスを再度開く [root@localhost my.Shells]# docker run -p 8081:80 -d docker.io/nginx //別のサービスを開きます。ポートは 8081 です。 1fd8a0b5d138203150f1cdbfb9690235159159881785a4654abb04c7c96c5b18 [root@localhost my.Shells]# docker ps // 8080 と 8081 に 2 つのプロセスがあります コンテナID イメージ コマンド 作成ステータス ポート名 1fd8a0b5d138 docker.io/nginx "nginx -g 'daemon off" 4 秒前 3 秒前に起動 0.0.0.0:8081->80/tcp suspect_hypatia c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" 約 1 時間前 4 分前 0.0.0.0:8080->80/tcp angry_mccarthy 上の図は、新しく開始された 8081 サービスにアクセスします。注: 新しく開始されたサービスと元のサービスは 2 つのコンテナーです。元の hello.html は新しいサービスにはありません。 7. サービスをアンインストールする [root@localhost my.Shells]# docker ps //8080と8081は両方とも実行中です コンテナID イメージ コマンド 作成日時 ステータス ポート 名前 1fd8a0b5d138 docker.io/nginx "nginx -g 'daemon off" 4 分前 4 分前に起動 0.0.0.0:8081->80/tcp suspect_hypatia c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" 約 1 時間前 8 分前 0.0.0.0:8080->80/tcp angry_mccarthy [root@localhost my.Shells]# docker stop 1fd8a0b5d138 //8081を停止 1fd8a0b5d138 [root@localhost my.Shells]# docker ps // 8080 のみがまだ実行中 コンテナ ID イメージ コマンド 作成 ステータス ポート 名前 c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" 約 1 時間前 9 分前 0.0.0.0:8080->80/tcp angry_mccarthy [root@localhost my.Shells]# docker ps -a //8080が実行中で、8081が終了していることがわかります コンテナID イメージ コマンド 作成ステータス ポート名 1fd8a0b5d138 docker.io/nginx "nginx -g 'daemon off" 5 分前 終了 (0) 7 秒前 suspect_hypatia c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" 約 1 時間前 9 分前 0.0.0.0:8080->80/tcp angry_mccarthy [root@localhost my.Shells]# [root@localhost my.Shells]# docker rm 1fd8a0b5d138 //このプロセスを削除します。実行中のプロセスはrmできないので、まず停止してください。 1fd8a0b5d138 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: Vueにログイン認証傍受機能を設置するアイデアを詳しく解説
この記事では、水平棒グラフを実現するためのvue echartsの具体的なコードを参考までに共有しま...
たとえば、新しいテーブルを作成したり、既存のテーブルのデータを更新したりすると、これらのイベントは、...
1. はじめにpt-query-digest は、MySQL のスロー クエリを分析するためのツール...
フォーム内の読み取り専用および無効な属性1. 読み取り専用:サーバーは、ユーザーがデータを変更するこ...
コンピュータ ルームのサーバー上の mysql がしばらく実行されていたのですが、突然、再起動しても...
データベースのパフォーマンス最適化には、一般的にクラスタリングが採用されています。Oracle クラ...
11. JavaScriptを使用してページ効果を作成する11.1 DOMプログラミングDOM プロ...
MySQL データベースは、特に JAVA プログラマーの間で広く使用されています。クラウド データ...
MySQL のフィルタリングのタイミングは、集計関数で使用される where 条件と having ...
導入通常、バックグラウンド サーバー プログラムには 1 つのプロセスのみが必要ですが、単一のプロセ...
目次defineComponent オーバーロード関数開発実務defineComponent 関数は...
目次1. はじめに2. データを消去するいくつかの方法2.1 ref() の使用2.2 スライスの使...
始める段階から初心者になるまで、Linux オペレーティング システムは不可欠です。最初のステップは...
目次1.関数内のこの方向1. 通常の機能2. コンストラクター3. オブジェクトメソッド4. イベン...
1. 背景LDAP を使用して、操作および保守に関連するユーザー名とパスワードを集中管理します。 1...