サーバーのDockerコンテナへのvscodeリモート接続を設定する方法

サーバーのDockerコンテナへのvscodeリモート接続を設定する方法

画像をプルする

docker pull [options] name [:tag] は、リポジトリからイメージをプルすることを意味します。options はパラメーターです。tag はバージョンです。

イメージを実行する(コンテナを生成する)

docker run [オプション] イメージ [:タグ] [コマンド] [引数…]

コンテナを実行して、イメージをテンプレートとして使用してコンテナを作成します。オプション、操作、タグ、バージョン、コマンド、実行時に実行するコマンド、引数、パラメータ

オプション オプションの略語 説明 –detach -d コンテナをバックグラウンドで実行し、コンテナ ID を出力します。
–interactive -i 接続がない場合でも標準入力を開いたままにします。通常は -t と一緒に使用されます。
–tty -t 疑似 tty を割り当てます。通常は -i と一緒に使用されます。

docker コンテナがタスクを完了すると、終了状態になります。コンテナをアップ状態にしたい場合は、次のようなコマンドを使用できます。
nginx:latest イメージを使用してコンテナをインタラクティブ モードで起動し、コンテナ内で /bin/bash コマンドを実行します。

docker run -dit nginx:latest /bin/bash

コンテナを起動する

docker 開始コンテナ ID

コンテナに入る

docker コンテナ ID をアタッチ
docker exec -it コンテナID /bin/bash
docker exec -it コンテナ名 bash

すべてのミラーを表示

イメージの一覧表示: docker images [OPTIONS] [REPOSITORY[:TAG]]

コンテナから出る

コンテナを閉じずに通常終了する場合は、(Ctrl+P+Q) を押してコンテナを終了します。exit を使用して終了すると、終了後にコンテナが閉じられます。

コンテナの再起動

(docker restart container id) コマンドを使用してコンテナを再起動します。

すべてのコンテナを表示

docker コンテナ ls
docker ps (実行中のコンテナを表示)
docker ps -a (すべてのコンテナを表示)

コンテナの削除

指定したコンテナを削除するには、docker container rm コマンドを使用するか、単に docker rm コマンドを記述してコンテナを削除することもできます。ただし、実行中のコンテナを削除することはできないため、削除する場合は、まずコンテナを停止する必要があります。

docker rm コンテナID

すべてのコンテナを一括で削除する必要がある場合は、次のコマンドを使用できます。

docker rm $(docker ps -q)

Docker で停止したコンテナを一括削除する

方法1:

#すべてのコンテナを表示し、終了状態のコンテナを除外して、これらのコンテナの ID を取得します。

sudo docker ps -a|grep 終了しました|awk '{print $1}'

# すべてのコンテナをクエリし、終了状態のコンテナを除外し、コンテナ ID を一覧表示して、これらのコンテナを削除します sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`

方法2:

#実行されていないコンテナをすべて削除します(実行中のコンテナは削除できず、実行されていないコンテナは一緒に削除されます)

sudo docker rm $(sudo docker ps -a -q)

方法3:

#コンテナのステータスに応じて、終了状態のコンテナを削除します sudo docker rm $(sudo docker ps -qf status=exited)

方法4:

#Docker バージョン 1.13 以降では、docker containers prune コマンドを使用して分離されたコンテナを削除できます。

vscodeはssh経由でサーバー内のコンテナにリモート接続します

1. Ubuntu イメージを実行してコンテナを作成します。

docker run -it ubuntu

2. コンテナに入り、コンテナのルートパスワードを設定する

コンテナのルートパスワードを変更します: passwd
パスワードは次のように設定されています: 123456

3. sshサービスをインストールする

apt-getアップデート
apt-get で openssh-server をインストールします

4. ssh 設定を変更して、root ログインを許可します。通常、コンテナに入るには root アカウントが使用されますが、ssh はデフォルトで root アカウントがパスワードを使用してリモートでログインすることを禁止しているため、許可するには ssh 設定ファイルを変更する必要があります。

vim /etc/ssh/sshd_config
PermitRootLogin の値を withoutPassword から yes に変更します (先頭の # を削除します)
vim をお持ちでない場合は、インストールできます:
apt-get で vim をインストール

5. コンテナの変更を保存し、新しいイメージを生成する

docker commit <コンテナID> <新しいイメージ名>
たとえば、docker commit <コンテナID> ubuntu-ssh

6. 現在のコンテナを終了し、保存した新しいイメージを実行します(今回はポートをマップしてバックグラウンドで実行する必要があります)

終了(終了するとコンテナは閉じられます)
docker run -dit -p 8008:22 ubuntu-ssh (8008 は ssh 経由で接続するときに使用されるポート番号です)

7. execコマンドを使用してバックグラウンドで実行されているコンテナに入ります。

docker exec -it コンテナID /bin/bash
#execは既存のコンテナに入るためのもので、runは新しいコンテナを作成するためのものです

8. SSHサービスを開始する

sudo サービス ssh 開始

さらに(停止、再起動はそれぞれシャットダウンと再起動です)

9. 起動が成功したかどうかを判断する

ターミナルに「ps -e|grep ssh」と入力して、正常に起動したかどうかを確認します。sshd がある場合は、正常に起動したことを意味します。

出力は次のようになります。

$ sudo ps -e | grep ssh

 4031 ? 00:00:00 sshd------サーバ側のsshdに対応し、sshサーバが起動していることを示します

10. コンテナを終了するが、シャットダウンしない

exit (exec コマンドでコンテナに入るため、exit ではコンテナは終了せず、コンテナはバックグラウンドで実行されます)

11 リモート接続

ssh ルート@ホストID -p 8008

これで、サーバーの Docker コンテナへの vscode リモート接続を設定する方法についての記事は終了です。より関連性の高い vscode リモート接続の Docker コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerは安全なTLSリモート接続アクセスを可能にします
  • Docker は 2003 年の問題を解決するために MySQL リモート接続を導入しました
  • TLS暗号化通信を使用してDockerにリモート接続する詳細な例
  • Docker で MySQL をインストールし、リモート接続を実装するチュートリアル
  • Docker はリモート接続のサンプルコードを実現するために MySQL をデプロイします
  • dockerデーモンのリモート接続設定の詳しい説明
  • Dockerリモート接続設定の実装例

<<:  HTML割引価格計算の実装原理とスクリプトコード

>>:  レスポンシブWebデザイン学習(2) — 動画をレスポンシブにすることはできるのか?

推薦する

Windows10のマウスを模倣して境界線を光らせる効果を実現するCSSの詳細解説

最新の Windows 10 アップデートをインストールした後、システム UI の詳細な効果が顕著に...

JSメモリ空間の詳細な説明

目次概要1. スタックとヒープ2. 変数オブジェクトと基本データ型3. 参照データ型とヒープメモリメ...

Tomcat が応答データグラムを書き戻すタイミングの詳細な分析

疑問が生じるこの質問は、ファイルのダウンロードを記述しているときに発生しました。HttpServle...

Docker での Redis の永続ストレージの詳細な説明

この章では、dockerの下にあるSpring BootプロジェクトでRedisを操作し始めます。準...

CSS3 のボックス サイズ設定 (コンテンツ ボックスとボーダー ボックス) の詳細な説明

CSS3 のボックス サイズ設定 (content-box と border-box) CSS3 の...

DockerはClickHouseをインストールし、データテストを初期化します

クリックハウスの紹介ClickHouse は、SQL クエリを使用して分析データ レポートをリアルタ...

VirtualBox は CentOS7 仮想マシンと拡張ツールをインストールします (画像とテキスト)

コンピュータシステム: win7この記事は主に写真に基づいており、多くの写真が含まれていますCent...

MySQL の昇順および降順データソートの実装

データの昇順、降順ソート1. フィールド名による単一フィールドのソート順機能:どのフィールドを基準に...

nginx のロケーションと書き換えの使用法の詳細な説明

1. 位置情報の利用状況の概要ロケーションは、さまざまな処理方法に対してさまざまな種類のリクエストを...

Vueフィルターの詳細な説明

<本文> <div id="ルート"> <h2&...

Tencent Cloud Serverの構築方法を説明します(グラフィックチュートリアル)

この記事は元々ブロガーのWeiwei Miaoによって書かれたものです。ブログホームページ: htt...

JSインターセプト文字列の3つの方法の詳細な説明

JS には、文字列をインターセプトするための 3 つのメソッド、 slice() 、 substri...

CSS の位​​置属性 (absolute|relative|static|fixed) の概要と応用

まず、CSS3 Api の position 属性の定義を見てみましょう。 static: 特別な配...

HTML/CSS におけるフロートの使用例の詳細

1. floatの基本的な使用例1. まず 2 つの div ボックスを作成し、高さ、幅、背景色を設...

Linux サーバーでフォルダー、ファイル、解凍コマンドを削除する方法

1. フォルダを削除する例: rm -rf /usr/java /usr/javaディレクトリとその...