vscode 遠程連接服務(wù)器docker容器的設(shè)置方法
拉取鏡像
docker pull [options] name [:tag] 表示從倉庫拉取鏡像 options是參數(shù) tag是版本
運行鏡像(產(chǎn)生一個容器)
docker run [options] image [:tag] [command] [arg…]
運行一個容器 以鏡像為模版創(chuàng)建容器 options 操作 tag版本 command 運行時候執(zhí)行的命令 arg 參數(shù)
選項 選項簡寫 說明
–detach -d 在后臺運行容器,并且打印容器id。
–interactive -i 即使沒有連接,也要保持標準輸入保持打開狀態(tài),一般與 -t 連用。
–tty -t 分配一個偽tty,一般與 -i 連用。
docker容器執(zhí)行任務(wù)完成后就會處于exited狀態(tài),如果想讓容器處于up狀態(tài),可以使用下列命令,如:
使用鏡像nginx:latest以交互模式后臺啟動一個容器,在容器內(nèi)執(zhí)行/bin/bash命令。
docker run -dit nginx:latest /bin/bash
啟動容器
docker start 容器ID
進入容器
docker attach 容器ID docker exec -it 容器ID /bin/bash docker exec -it 容器的name bash
查看所有鏡像
列出鏡像列表:docker images [OPTIONS] [REPOSITORY[:TAG]]
退出容器
如果要正常退出不關(guān)閉容器,請按(Ctrl+P+Q)進行退出容器
如果使用exit退出,那么在退出之后會關(guān)閉容器
重啟容器
使用(docker restart 容器id)命令重啟容器
查看所有容器
docker container ls docker ps (查看正在運行的容器) docker ps -a (查看所有容器)
刪除容器
我們也可以使用docker container rm命令刪除一個指定的容器,或簡潔的寫法docker rm命令來刪除容器,不過不允許刪除正在運行的容器,因此如果要刪除的話,就必須先停止容器。
docker rm container_id
當我們需要批量刪除所有容器,可以用下面的命令:
docker rm $(docker ps -q)
批量刪除docker中已經(jīng)停止的容器
方法一:
#顯示所有的容器,過濾出Exited狀態(tài)的容器,取出這些容器的ID, sudo docker ps -a|grep Exited|awk '{print $1}' #查詢所有的容器,過濾出Exited狀態(tài)的容器,列出容器ID,刪除這些容器 sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`
方法二:
#刪除所有未運行的容器(已經(jīng)運行的刪除不了,未運行的就一起被刪除了) sudo docker rm $(sudo docker ps -a -q)
方法三:
#根據(jù)容器的狀態(tài),刪除Exited狀態(tài)的容器 sudo docker rm $(sudo docker ps -qf status=exited)
方法四:
#Docker 1.13版本以后,可以使用 docker containers prune 命令,刪除孤立的容器。
vscode通過ssh遠程連接服務(wù)器中的容器
1.運行ubuntu鏡像來創(chuàng)建容器:
docker run -it ubuntu
2.進入容器,設(shè)置容器root密碼
修改容器的root密碼:passwd
密碼設(shè)置為:123456
3.安裝ssh服務(wù)
apt-get update apt-get install openssh-server
4.修改ssh配置,允許root登錄,一般進入容器時使用的都是 root 賬號,但是 ssh 默認是禁止 root 賬號使用密碼遠程登錄的,所以需要修改 ssh 配置文件使其允許:
vim /etc/ssh/sshd_config 將PermitRootLogin的值從withoutPassword改為yes(去掉前面的#號) 如果沒有vim可以安裝個: apt-get install vim
5.保存容器修改并生成新的鏡像
docker commit <container_id> <new_image_name> 如 docker commit <container_id> ubuntu-ssh
6.退出當前容器,并運行剛剛保存的新鏡像(這次運行要端口映射并在后臺運行)
exit(exit退出后會關(guān)閉容器) docker run -dit -p 8008:22 ubuntu-ssh (8008時端口號,ssh連接時要使用)
7.通過exec命令進入在后臺運行的容器
docker exec -it 容器_id /bin/bash #exec是進入已經(jīng)存在的容器,run是創(chuàng)建新容器
8.啟動ssh服務(wù)
sudo service ssh start
另外(stop restart分別為關(guān)閉和重啟)
9.判斷啟動是否成功
在終端中輸入:ps -e|grep ssh,可以查看是否啟動成功,如果有sshd,就說明啟動成功。
輸出如下:
$ sudo ps -e | grep ssh 4031 ? 00:00:00 sshd------對應(yīng)服務(wù)器端 sshd表示ssh-server啟動了
10退出容器但不要關(guān)閉
exit(因為我們是通過exec指令進入容器的,所以exit時并不會退出容器,容器會在后臺運行)
11遠程連接
ssh root@host_id -p 8008
到此這篇關(guān)于vscode 遠程連接服務(wù)器docker容器的設(shè)置方法的文章就介紹到這了,更多相關(guān)vscode 遠程連接docker內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服
Maven大家應(yīng)該都比較熟了,我這里就用安卓人狂喜的Gradle來演示一下,在build.gradle中編寫腳本即可上傳,接下來通過本文給大家介紹下利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服的問題,感興趣的朋友一起看看吧2022-01-01docker之MySQL同步數(shù)據(jù)的實現(xiàn)
本文主要介紹了docker之MySQL同步數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07elasticsearch?組件基于單機的多實例集群部署方法
es 作為搜索引擎,應(yīng)用場景不乏日志分析、網(wǎng)絡(luò)安全、搜索引擎等,有時也會用作日志數(shù)據(jù)庫使用,畢竟其出色的搜索查詢性能,不是同等量級 關(guān)系型數(shù)據(jù)庫可以比擬的,這篇文章主要介紹了elasticsearch?組件基于單機的多實例集群,需要的朋友可以參考下2024-03-03