GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Dockerコンテナ内でアプリケーションをインストール、実行、削除する方法–パート2

前のDockerに続く このチュートリアルでは、Dockerコンテナを新しいイメージに保存し、コンテナを削除して、 Nginxを実行する方法について説明します。 コンテナ内のWebサーバー。

要件

  • CentOS / RHEL 8/7にDockerをインストールしてコンテナを実行する方法–パート1

Dockerコンテナを実行して保存する方法

1。 この例では、Ubuntuベースを実行して保存します Nginxが存在するDockerコンテナ サーバーがインストールされます。ただし、コンテナに変更をコミットする前に、まず Nginxを更新してインストールする以下のコマンドでコンテナを起動します Ubuntuイメージへのデーモン:

#docker run ubuntu bash -c "apt-get -y update" #docker run ubuntu bash -c "apt-get -y install nginx" 

エラー「E:パッケージnginxが見つかりません」が表示された場合 ‘、次に、インタラクティブCLIを使用してコンテナに接続し、図のようにnginxをインストールする必要があります。

#docker run -it ubuntu bash#apt install nginx#exit 

2。 次に、 Nginxの後 パッケージがインストールされたら、コマンドdocker ps -lを発行します IDを取得するには または名前 実行中のコンテナの。

#docker ps -l <​​/ pre>  

そして、以下のコマンドを実行して変更を適用します:

#docker commit 5976e4ae287c ubuntu-nginx 

ここでは、5976e4ae287c コンテナのIDを表します およびubuntu-nginx コミットされた変更で保存された新しいイメージの名前を表します。

新しいイメージが正常に作成されたかどうかを確認するには、docker imagesを実行するだけです。 コマンドと保存されているすべての画像のリストが表示されます。

#docker images 

コンテナ内のインストールプロセスが迅速に終了し、コンテナが実行されなくなる(コンテナが停止する)可能性があります。この場合、docker ps コンテナが実行されていないため、コマンドは出力を表示しません。

コンテナのIDを引き続き取得できるようにするには、docker ps -a | head -3 最新のコンテナを出力し、コンテナを作成するために発行されたコマンドと終了ステータスに基づいてコンテナを識別します。

3。 または、docker run -it ubuntu bashを実行して、コンテナセッションに積極的に参加することもできます。 コマンドを実行し、さらにapt-get install nginxを実行します 指図。コマンドの実行中に、Ctrl-p + Ctrl-qを使用してコンテナからデタッチします Nginxのインストールプロセスが終了しても、キーとコンテナは実行を継続します。

#docker run -it ubuntu bash#apt-get install nginx 

次に、docker psを使用して実行中のコンテナIDを取得します 変更をコミットします。終了したら、docker attachを使用してコンテナコンソールに再入力します exitと入力します コンテナを停止します。

#docker ps#docker attach 3378689f2069#exit 

4。 最近のイメージが適切にコミットされているかどうかをさらにテストするには(この場合は Nginx サービスがインストールされています)、Nginxバイナリが正常にインストールされた場合に出力される新しいコンテナを生成するには、次のコマンドを実行します。

#docker run ubuntu-nginx whereis nginx 

5。 コンテナを削除するには、rmを使用します docker ps -aを使用して取得できるコンテナIDまたは名前に対するコマンド コマンド:

#docker ps -a#sudo docker rm 36488523933a 

Dockerコンテナ内でNginxを実行する方法

6。 このパートでは、 Nginxなどのネットワークサービスを実行してアクセスする方法に焦点を当てます。 ubuntu-nginxを使用するDocker内のWebサーバー Nginxデーモンがインストールされた場所で以前に作成されたイメージ。

最初に行う必要があるのは、新しいコンテナを作成し、ホストコンテナポートをマップし、次のコマンドを発行してコンテナシェルに入る方法です。

#docker run -it -p 81:80 ubuntu-nginx / bin / bash#nginx&

ここで、-p オプションは、ホストポートをコンテナポートに公開します。ホストポートは任意である可能性がありますが、使用可能である(他のホストサービスがリッスンしてはならない)という条件で、コンテナポートは内部デーモンがリッスンしているポートである必要があります。

コンテナセッションに接続したら、 Nginxを開始します バックグラウンドでデーモンを作成し、Ctrl-p + Ctrl-qを押してコンテナコンソールからデタッチします。 キー。

7。 次に、docker psを実行します 実行中のコンテナの状態を取得します。次のコマンドを発行して、ホストネットワークソケットを表示することもできます。

#docker psOR#netstat -tlpn 

8。 Nginxコンテナが提供するページにアクセスするには、LAN内の離れた場所からブラウザを開き、HTTPプロトコルを使用してマシンのIPアドレスを入力します。

9。 コンテナを停止するには、次のコマンドに続けてコンテナIDまたは名前を実行します。

#docker ps#docker stop fervent_mccarthy#docker ps 

実行中のコンテナを停止する別の方法として、コンテナシェルコマンドプロンプトを入力し、exitと入力してプロセスを終了します。

#docker attach fervent_mccarthy#exit 

この種のコンテナを使用してWebサーバーまたは他の種類のサービスを実行することは、コンテナの実行中にのみサービスがアクティブになるため、開発目的またはテストにのみ最適であることに注意してください。コンテナを終了すると、実行中のすべてのサービスまたは行われた変更が中断されます。

参考資料:

パート3 :CentOS / RHEL8/7パート4でDockerfileを使用してDockerイメージを自動的に構築および構成する :LinuxでDockerコンテナを監視する方法
Docker
  1. Dockerコンテナ内でプログラムを実行する方法は?

  2. DockerコンテナでMySQLを実行する方法

  3. DockerコンテナにVimをインストールする方法

  1. RockyLinux8にDockerContainerをインストールしてセットアップする方法

  2. Dockerコンテナを一覧表示する方法

  3. UbuntuでDockerをインストールしてDockerコンテナを実行する方法

  1. LinuxでDockerコンテナを作成、一覧表示、削除する方法

  2. DockerをインストールしてLAMPスタックをデプロイする方法

  3. Docker コンテナーをバックアップおよび復元する方法