はじめに
Docker は、OSレベルの仮想化を使用してコンテナと呼ばれるパッケージでソフトウェアを配信するPaaS(Platform as a Service)製品のセットです。
Docker は、コンテナを作成できるユーティリティです。 アプリケーションを実行するため。 Dockerコンテナーは、完全に含まれた仮想マシンです。
このガイドでは、DockerコンテナにSSHで接続してコマンドを実行する3つの方法を紹介します。
方法1 :
- docker execを使用します Dockerコンテナでコマンドを実行するには
docker exec commandは、すでに実行されているコンテナー内で指定されたコマンドを実行します。
bashシェルを作成することで、DockerコンテナにSSHで接続できます。 。
docker execを使用するための構文
docker exec (options) (container) (The_command)
- Dockerの画像をプルします まだの場合。 apacheを読み込むことができます 例:
sudo docker pull httpd
- 次に、コンテナを実行します
sudo docker run --name apache-test -d httpd

- 実行中のすべてのコンテナを一覧表示して、そのコンテナが一覧表示されているかどうかを確認します
sudo docker ps

- それにアクセスしてそのコンテナでコマンドを実行するには、を実行します
sudo docker exec -it apache-test /bin/bash
–i オプションは、インタラクティブを指定します
–t ターミナルタイピングを有効にします インターフェイス。
これで、入力したコマンドはすべてそのコンテナで実行されます。
方法2:
- ドッカーアタッチを使用 実行中に接続するコマンド コンテナ
ドッカーアタッチ コマンドは、ローカル入力、出力、およびエラーストリームをコンテナにリンクします。
- 実行中のコンテナに接続するには、実行します
sudo docker attach (The_container_Name)
次に、 apache-testに接続します。 次のコマンドラインを使用するコンテナ。
sudo docker attach apache-test
方法3:
- SSHを使用します Dockerコンテナに接続するには
SSH(Secure Shell)を使用してDockerコンテナに接続できます。
- sshをインストール、起動、有効化する
CentOSについて :
dnf install -y openssh-server openssh-clients && systemctl start sshd && systemctl enable sshd
Ubuntuの場合 :
sudo apt-get install ssh && sudo systemctl start sshd && sudo systemctl enable sshd
- DockerコンテナのIPアドレスを取得する
docker inspect を使用して、コンテナのIPアドレスを取得します コマンドを実行し、結果を除外します。
最新のDockerエンジンの場合は、実行します
sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" (The_container_name)
古いDockerエンジンの場合は、実行します
[root@unixcop ~]# docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' (The_container_name)
172.17.0.1
[root@unixcop ~]#
- SSHコマンドを使用してコンテナに接続することによるDockerコンテナへのSSH
ssh [email protected]

システムは、そのコンテナのrootユーザーのパスワードを要求する必要があります
これで、コンテナ内でコマンドを実行できます。
結論
だから、それだけです
このチュートリアルでは、実行中のDockerコンテナにSSHで接続し、3つの方法でコマンドを実行する方法を説明します。
ありがとう