Linux の Docker コンテナで bash を終了する 2 つの方法

Linux の Docker コンテナで bash を終了する 2 つの方法

bash を終了する場合は、次の 2 つのオプションがあります。

最初のもの:

Ctrl + d を押すとコンテナを終了して停止します。

2番目のタイプ:

Ctrl + p + q を押すと、コンテナを終了してバックグラウンドで実行します。

追加知識: Dockerは複数のサービスを同時に起動します

前回の Docker の記事では、コンテナを起動したときにバックグラウンド サービスは 1 つだけ起動していました。今回は、Supervisor を使って複数のサービスを起動する方法について説明します。

1. まずディレクトリを作成し、そのディレクトリ内にDockerfileを作成します。ファイルの内容は次のとおりです。

Centosから:centos6maintainer fanbin kong "[email protected]" run rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noard.rpmrun pam yes/usepam no/g '/etc/ssh/sshd_config run adminrun echo "admin:admin" | All =(all)All "/etc/ets ssh -keygen -t dsa -f/etc/ets/ssh rsa_keyrun mkdir/var/run/sshdrun/etc/init.d/mysqld start && \ mysql -e "すべての特権を付与 *。 PLETMEIN -E "DATABASES;" RUN MKDIR -P/VAR/LOG/SUPRUPISORCOPY SUPRUPISORD.CONF /TC/SUPERVISORD.CONFEXPOSE 22 3306CMD ["/usr/bin/superpisord"]]

2. Dockerfile が配置されているディレクトリに supervisord.conf ファイルを作成します。内容は次のとおりです。

[supervisord]nodaemon=true[program:sshd]command=/usr/sbin/sshd -D[program:mysqld]command=/usr/bin/mysqld_safe

3. Dockerfile が配置されているディレクトリでビルド コマンドを実行して、イメージ ファイルを生成します。ここでは、イメージ ファイル名として mysql_server を使用します。

sudo docker build -t myserver を実行します。

4. コンテナを起動する

4.1 まず次のコマンドを使用してコンテナを起動します

sudo docker run --name=myserver -d -P myserver

4.2 コンテナを起動したら、「sudo docker ps」で確認することができます。このとき、PORTS列の内容が

「0.0.0.0:49171->22/tcp、0.0.0.0:49172->3306/tcp」

コンテナのポート 22 と 3306 は、ホスト マシンのポート 49171 と 49172 にマップされます。

4.3 これで、次のコマンドでsshおよびmysqlサービスにアクセスできるようになります。

ssh admin@<ホストマシン> -p <ホストマシンのポート>mysql -h <ホストマシン> -u root -pletmein -P 49172

4.4 もちろん、「sudo docker inspect myserver | grep IPAddress」を使用してコンテナのIPアドレスを表示し、次のコマンドでsshおよびmysqlサービスにアクセスすることもできます。

ssh admin@<コンテナマシンのIP> mysql -h <コンテナマシンのIP> -u root -pletmein

Linux の Docker コンテナから bash を終了する上記の 2 つの方法は、すべて編集者が共有した内容です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • docker実行時に異なるポートを占有する2つのポートを起動する問題を解決する
  • Dockerはプロセス操作を管理するためにSupervisorを使用する
  • dockerでsshd操作を有効にする

<<:  ハイパーリンクの表示と開き方

>>:  MySQLデータベースのロック機構の分析

推薦する

Nginx 構成の実装 https

目次1: https証明書を準備する2: nginx sslモジュールを準備する3: SSL証明書を...

設定操作からMySQLへのNULLが見つからない問題を解決する

興味深い発見:合計 1000 件のレコードを含むテーブルがあります。クエリ ステートメントは次のよう...

JavaScript オブジェクト指向の実践の詳細説明: カプセル化とオブジェクトのドラッグ

目次概要1. DOM要素をアニメーション化する方法2. 現在のブラウザでサポートされている変換互換の...

Ubuntu 18.04で国内ソースを変更する方法の例

Ubuntu はソースが中国からなのでダウンロード速度が比較的遅いです。CentOS と異なり、yu...

CSS で要素を垂直方向に中央揃えする 7 つの方法

【1】中央の要素の幅と高さを知る絶対値 + 負のマージンコードの実装 .wrapBox5{ 幅: 3...

シンプルな計算機を実装するためのネイティブ js

この記事の例では、参考までに簡単な計算機を実装するためのjsの具体的なコードを共有しています。具体的...

Reactでaxiosを使用してリクエストを送信する一般的な方法

目次Reactにaxios依存関係をインストールして導入するGETリクエストにaxiosを使用するa...

WindowsはVMwareを使用してLinux仮想マシンを作成し、CentOS7.2オペレーティングシステムをインストールします。

目次1. ウィザードに従って仮想マシンを作成します2. オペレーティングシステムをインストールします...

DOCTYPE HTMLを使用する理由

これがないと、ブラウザはページをレンダリングするときに Quirks モードを使用することがわかって...

CSSは半透明の境界と複数の境界のシーン分析を実現します

シナリオ 1:半透明の境界線を実現するには: CSS スタイルのデフォルトの動作により、背景色はコン...

MySQL シャーディング入門ガイド

序文リレーショナル データベースは、システムのボトルネックになる可能性が高くなります。単一のマシンの...

MySQL で絵文字表現を挿入できない理由と解決策

失敗のシナリオMySQL データベースに絵文字表現を挿入するために JDBC を呼び出すと、例外ja...

MySQL データベースで機密データの暗号化と復号化を実装する方法

目次1. 準備2. MySQL暗号化関数方式2.1 MySQL 暗号化2.2 MYSQL 復号化3....

「MySQL サービスを開始できません エラー 1069」を解決する方法

今日、外出中に同僚から、ウェブサイトのバックエンドにアクセスできないというメッセージが届きました。と...

純粋なCSSでは、子要素が親要素の幅制限を突破できる。

文章のスタイルでは、このような状況がよく見られます コードは次のとおりです <div styl...