初探Docker
體驗在服務器上使用docker深度學習,網上了解了一些資料后覺得docker真的很牛逼,附上一個教程 Docker最全教程——從理論到實戰(一) - 雪雁 - 博客園,第一篇就介紹了docker整個的一個概念。
這次主要是學會簡單的使用docker,並沒有什么深度的開發鏡像等等操作。也許之后自己寫網站也會采用docker來托管項目。
一些指令
docker ps 查看當前運行的docker容器
參數:
-a:列出所有容器
-l: show latest-created container
docker image 查看docker的鏡像
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 創建一個新的容器
參數:
-d: 后台運行容器,並返回容器ID
-i: 以交互模式運行容器,通常與 -t 同時使用
-P:隨機端口映射,內部容器端口隨機映射到主機高端口
-p:指定端口映射,格式為:主機(宿主)端口:容器端口
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用
--volume , -v: 綁定一個卷 格式:/home/file:/container/file
--name="nginx-lb": 為容器指定一個名稱
docker (container) attach id 進入一個容器
但這樣的問題是exit退出之后這個容器就關閉了,解決方法是用Ctrl+P+Q來退出
docker exec -it containerID /bin/bash 這個命令exit退出,ok容器還在運行
docker rm containerID 刪除一個容器
用SSH登錄到docker
參考來自簡書的教程
首先創建一個container
docker run -it -p 50001:22 --name ctrname -d /image /bin/bash
直接以交互式、后台、指定docker的22端口,也就是ssh默認端口到宿主機的50001端口來創建容器
然后用docker attach ID
進入docker,修改root密碼,passwd
,然后配置安裝ssh,apt-get update
,apt-get install openssh-server
,修改sshd_config的內容vim /etc/ssh/sshd_config
,將PermitRootLogin改為yes,最后重啟ssh服務service ssh restart
最后就用自己的電腦通過ssh root@ip -p 50001
來連接就好啦,exit退出后在服務器上還會運行。
在vs code上使用插件連接docker
首先,連接互聯網,打開需要的內網穿透軟件。
安裝插件Remote Development,然后左下角會出現兩個箭頭組成的小圖標,點擊他,選擇Remote-SSH:Connect to Host新建一個ssh HOST,按照提示連接,選擇ssh配置文件,然后打開這個文件可以修改hostname,新建完成之后就可以連接了。會新開一個vscode窗口,輸入密碼以登錄。選擇workplace打開,也需輸入密碼。
之后就可以愉快的vscode上遠程編程了