vscode 遠(yuǎn)程連接服務(wù)器docker容器的設(shè)置方法
拉取鏡像
docker pull [options] name [:tag] 表示從倉(cāng)庫(kù)拉取鏡像 options是參數(shù) tag是版本
運(yùn)行鏡像(產(chǎn)生一個(gè)容器)
docker run [options] image [:tag] [command] [arg…]
運(yùn)行一個(gè)容器 以鏡像為模版創(chuàng)建容器 options 操作 tag版本 command 運(yùn)行時(shí)候執(zhí)行的命令 arg 參數(shù)
選項(xiàng) 選項(xiàng)簡(jiǎn)寫 說明
–detach -d 在后臺(tái)運(yùn)行容器,并且打印容器id。
–interactive-i 即使沒有連接,也要保持標(biāo)準(zhǔn)輸入保持打開狀態(tài),一般與 -t 連用。
–tty -t 分配一個(gè)偽tty,一般與 -i 連用。
docker容器執(zhí)行任務(wù)完成后就會(huì)處于exited狀態(tài),如果想讓容器處于up狀態(tài),可以使用下列命令,如:
使用鏡像nginx:latest以交互模式后臺(tái)啟動(dòng)一個(gè)容器,在容器內(nèi)執(zhí)行/bin/bash命令。
docker run -dit nginx:latest /bin/bash
啟動(dòng)容器
docker start 容器ID
進(jìn)入容器
docker attach 容器ID docker exec -it 容器ID /bin/bash docker exec -it 容器的name bash
查看所有鏡像
列出鏡像列表:docker images [OPTIONS] [REPOSITORY[:TAG]]
退出容器
如果要正常退出不關(guān)閉容器,請(qǐng)按(Ctrl+P+Q)進(jìn)行退出容器
如果使用exit退出,那么在退出之后會(huì)關(guān)閉容器
重啟容器
使用(docker restart 容器id)命令重啟容器
查看所有容器
docker container ls docker ps (查看正在運(yùn)行的容器) docker ps -a (查看所有容器)
刪除容器
我們也可以使用docker container rm命令刪除一個(gè)指定的容器,或簡(jiǎn)潔的寫法docker rm命令來刪除容器,不過不允許刪除正在運(yùn)行的容器,因此如果要?jiǎng)h除的話,就必須先停止容器。
docker rm container_id
當(dāng)我們需要批量刪除所有容器,可以用下面的命令:
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}'`
方法二:
#刪除所有未運(yùn)行的容器(已經(jīng)運(yùn)行的刪除不了,未運(yùn)行的就一起被刪除了) 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遠(yuǎn)程連接服務(wù)器中的容器
1.運(yùn)行ubuntu鏡像來創(chuàng)建容器:
docker run -it ubuntu
2.進(jìn)入容器,設(shè)置容器root密碼
修改容器的root密碼:passwd
密碼設(shè)置為:123456
3.安裝ssh服務(wù)
apt-get update apt-get install openssh-server
4.修改ssh配置,允許root登錄,一般進(jìn)入容器時(shí)使用的都是 root 賬號(hào),但是 ssh 默認(rèn)是禁止 root 賬號(hào)使用密碼遠(yuǎn)程登錄的,所以需要修改 ssh 配置文件使其允許:
vim /etc/ssh/sshd_config 將PermitRootLogin的值從withoutPassword改為yes(去掉前面的#號(hào)) 如果沒有vim可以安裝個(gè): apt-get install vim
5.保存容器修改并生成新的鏡像
docker commit <container_id> <new_image_name> 如 docker commit <container_id> ubuntu-ssh
6.退出當(dāng)前容器,并運(yùn)行剛剛保存的新鏡像(這次運(yùn)行要端口映射并在后臺(tái)運(yùn)行)
exit(exit退出后會(huì)關(guān)閉容器) docker run -dit -p 8008:22 ubuntu-ssh (8008時(shí)端口號(hào),ssh連接時(shí)要使用)
7.通過exec命令進(jìn)入在后臺(tái)運(yùn)行的容器
docker exec -it 容器_id /bin/bash #exec是進(jìn)入已經(jīng)存在的容器,run是創(chuàng)建新容器
8.啟動(dòng)ssh服務(wù)
sudo service ssh start
另外(stop restart分別為關(guān)閉和重啟)
9.判斷啟動(dòng)是否成功
在終端中輸入:ps -e|grep ssh,可以查看是否啟動(dòng)成功,如果有sshd,就說明啟動(dòng)成功。
輸出如下:
$ sudo ps -e | grep ssh 4031 ? 00:00:00 sshd------對(duì)應(yīng)服務(wù)器端 sshd表示ssh-server啟動(dòng)了
10退出容器但不要關(guān)閉
exit(因?yàn)槲覀兪峭ㄟ^exec指令進(jìn)入容器的,所以exit時(shí)并不會(huì)退出容器,容器會(huì)在后臺(tái)運(yùn)行)
11遠(yuǎn)程連接
ssh root@host_id -p 8008
到此這篇關(guān)于vscode 遠(yuǎn)程連接服務(wù)器docker容器的設(shè)置方法的文章就介紹到這了,更多相關(guān)vscode 遠(yuǎn)程連接docker內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。