欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pycharm與ssh遠程訪問服務(wù)器docker的詳細教程

 更新時間:2020年10月10日 11:22:51   作者:華師數(shù)據(jù)學(xué)院·王嘉寧  
這篇文章主要介紹了pycharm與ssh遠程訪問服務(wù)器docker,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

  背景:有些實驗需要在服務(wù)器上完成,因此為了快速便利地在本地調(diào)試遠程服務(wù)器上的代碼,需要完成本地與遠程服務(wù)器的直連。然而現(xiàn)階段諸多服務(wù)器上安裝有docker,通常需要在docker內(nèi)完成調(diào)試代碼,因此本文主要提供遠程訪問服務(wù)器docker的配置方法。

  需要工具及說明:

  • 一臺遠程服務(wù)器
  • pycharm:集成開發(fā)工具,在本地安裝
  • ssh:遠程訪問工具,本地和遠程服務(wù)器都要有
  • docker:容器,在遠程服務(wù)器上

1、配置遠程服務(wù)器docker

第一步:購置配置服務(wù)器(如果已有服務(wù)器跳過)
  可自行在阿里云或騰訊云等服務(wù)器提供商購買centos服務(wù)器,或使用公司或?qū)W校提供的服務(wù)器,但需要注意的是,如果公司或?qū)W校的服務(wù)器需要在VPN環(huán)境內(nèi)訪問,則需要提前連接VPN后再訪問服務(wù)器。

第二步:安裝docker(如果已有docker則跳過)

sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

詳細可參考文末參考文獻【2】

注:sudo命令是指使用最高權(quán)限r(nóng)oot執(zhí)行,如果當(dāng)前賬戶是root則無需sudo命令。

第三步:拉取鏡像

  鏡像官方網(wǎng)站是 Docker Hub,在上面可以找到符合自己生產(chǎn)需要的鏡像。我們以pytorch為例,拉取鏡像:

sudo docker pull pytorch/pytorch

即可下載相關(guān)文件,可通過下面命令查看已經(jīng)拉取的鏡像:

sudo docker images

詳細可參考文末參考文獻【6】

第四步:創(chuàng)建容器

  獲取鏡像后,需要根據(jù)鏡像實例化一個容器,此處實例化容器使用run命令:

ssudo docker run -p [自選端口號]:22 --gpus all -itd --name [自己起個名字] -v [宿主機(本地)的目錄]:[自定義創(chuàng)建好的容器內(nèi)的目錄] /bin/bash

執(zhí)行上面命令可以完成實例化一個容器,其中的相關(guān)參數(shù)有:

  • -p [自選端口號]:22:同時將該容器映射到對應(yīng)的端口號,并與22號端口進行關(guān)聯(lián)監(jiān)聽;
  • –gpus all:指定該實例化的容器內(nèi)可使用所有宿主機包含的gpu;
  • -i:保持STDIN開啟;
  • -t:分配一個偽終端;
  • -d:在后臺運行
  • –name [自己起個名字]:為了避免記住冗長復(fù)雜的容器id,通??蔀槿萜髟O(shè)置一個名稱,注意不要與現(xiàn)有的名稱相同;
  • -v [宿主機(本地)的目錄]:[自定義創(chuàng)建好的容器內(nèi)的目錄]:為了讓容器內(nèi)的文件與宿主機保持同步,可執(zhí)行該參數(shù),注意自定義創(chuàng)建好的容器內(nèi)目錄必須是絕對路徑。

  另外 -i ,-t-d 可同時寫在一起,例如 -it ,-itd 。
  例如命令:

sudo docker run -p 8848:22 --gpus all -itd --name wjn -v /home/gm/wangjianing/docker:/wjn pytorch/pytorch /bin/bash

其表示實例化鏡像pytorch/pytorch為一個容器,其占用宿主機端口號為8848,并與ssh端口22保持關(guān)聯(lián)監(jiān)聽,可使用所有g(shù)pu,名稱為“wjn”,宿主機的地址“/home/gm/wangjianing/docker”與容器內(nèi)目錄“/wjn”保持關(guān)聯(lián),使用/bin/bash作為命令腳本。

  創(chuàng)建完之后,可查看所有已經(jīng)實例化的容器

sudo docker ps

第五步:開通端口

  如果端口有防火墻保護,則需要自行開通:

sudo /sbin/iptables -I INPUT -p tcp --dport 8848 -j ACCEPT

第六步:啟動容器

  啟動容器,以使得該容器處在運行狀態(tài):

sudo docker start [容器id或自己起的名字]

例如剛才創(chuàng)建好的容器編號為“5621fade441e”,名稱為“wjn”,則可以執(zhí)行:

sudo docker start 5621fade441e

sudo docker start wjn

啟動后,可通過:

sudo docker ps -a

查看所有已啟動并運行的容器,如圖:

在這里插入圖片描述

注:至此應(yīng)該可以看到該容器的相關(guān)信息, 特別注意PORTS屬性,需要有端口信息才能判斷當(dāng)前創(chuàng)建的容器是可以通過端口訪問的,如果沒有此信息,則無法完成遠程訪問容器,且目前無法直接修改已創(chuàng)建好的容器的端口,所以只能重新創(chuàng)建。

第七步:進入容器

  進入容器可使用命令:

sudo docker exec -it [容器id或自己起的名字] /bin/bash

2、容器配置ssh

  博主之前以為創(chuàng)建好docker之后,就可以直接通過ssh訪問該容器了,但是后來發(fā)現(xiàn)還需要進入容器內(nèi)進行一系列的ssh配置,主要步驟如下:

第八步:安裝ssh

進入剛創(chuàng)建好的容器,先執(zhí)行如下命令:

apt update
apt install -y openssh-server

然后建立一個配置文件夾并進行必要的配置:

mkdir /var/run/sshd
echo ‘root:passwd' | chpasswd

注意,這里的root表示待會要遠程訪問的用戶名,passwd為訪問密碼,可自行設(shè)置,例如本人設(shè)置的為:

echo ‘root:123456' | chpasswd

第九步:設(shè)置登錄權(quán)限

執(zhí)行下面三行命令設(shè)置權(quán)限

sed -i ‘s/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sed ‘s@session\srequired\spam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
echo “export VISIBLE=now” >> /etc/profile

第十步:修改ssh配置文件

博主完成第二步后,依然無法遠程連接,因此經(jīng)過查詢后發(fā)現(xiàn),需要修改相關(guān)配置文件:
執(zhí)行下面命令打開ssh配置文件:

vim /etc/ssh/sshd_config

如果vim沒有安裝,則執(zhí)行:

apt install vim

打開后,修改文件:
AddressFamily any 前面的 # 刪除
修改PermitRootLogin yes 前面的 # 刪除
修改PasswordAuthentication yes 前面的 # 刪除

在vim編輯器中,執(zhí)行命令保存并退出:

:wq

最后重啟ssh服務(wù):

service ssh restart

詳細可參考參考文獻【1】和【3】

3、ssh測試

配置完后,按理來說應(yīng)該完成了服務(wù)器的設(shè)置,下面可以進行簡單的測試,例如
(1)在宿主機中執(zhí)行命令查看當(dāng)前端口,可知有8848端口

sudo netstat -ntlp

在這里插入圖片描述

(2)在宿主機上執(zhí)行命令,也可以查看當(dāng)前容器是否存在對應(yīng)的端口映射關(guān)系:

sudo docker port [容器id或自己起的名字] 22

例如,博主執(zhí)行后返回0.0.0.0:8848,說明成功

(3)進入容器內(nèi),執(zhí)行:

python3

進入python環(huán)境,再依次執(zhí)行

import torch
print(torch.cuda.is_available())

如果返回 True,說明該docker可以使用GPU了。

(4)遠程訪問試一試,任意在一臺聯(lián)網(wǎng)的機器上(若在局域網(wǎng)內(nèi),則需要連VPN)執(zhí)行:

ssh [第八步創(chuàng)建的用戶名]@[你的服務(wù)器地址] -p [自己定義的端口號]

如果顯示輸入密碼,說明連接成功,輸入密碼后即可直接進入對應(yīng)的容器。例如博主執(zhí)行:

ssh root@10.11.6.13 -p 8848

顯示如下信息說明已經(jīng)連接成功。

在這里插入圖片描述

4、pycharm測試

如果使用pycharm直接訪問遠程服務(wù)器docker,則可以在pycharm上進行相關(guān)設(shè)置:

第十一步:安裝pycharm(已安裝直接跳過)

需要安裝專業(yè)版的pycharm,安裝后,可通過激活碼、或直接去官網(wǎng)使用學(xué)生郵箱注冊一個賬號可免費使用一年,安裝后進入pycharm

詳細可參考文末參考文獻【7】

第十二步:設(shè)置ssh

如下圖,依次點擊后進入菜單:

在這里插入圖片描述

然后新增一個連接,由左向右依次點擊:

在這里插入圖片描述

進入編輯ssh界面,填寫配置信息:

在這里插入圖片描述

點擊“Test Connection”測試一下,如果success則說明pycharm也可以連接遠程容器了:

在這里插入圖片描述

返回到上一個頁面,選擇配置好的ssh后,可以再選擇需要pycharm關(guān)聯(lián)到容器內(nèi)的具體的目錄。例如博主直接選擇在創(chuàng)建容器時域宿主機進行關(guān)聯(lián)的目錄/wjn作為pycharm可更新上傳的位置,最后保存即可。

在這里插入圖片描述

至此完成所有配置工作,在pycharm可以自由地與服務(wù)器docker內(nèi)的項目進行調(diào)試了

參考文獻:

【1】SSH客戶端遠程登陸Linux服務(wù)器密碼總是錯誤問題
【2】Docker安裝
【3】PyCharm+Docker:打造最舒適的深度學(xué)習(xí)煉丹爐
【4】pycharm遠程連接服務(wù)器運行代碼加調(diào)試
【5】解決pytorch GPU 計算過程中出現(xiàn)內(nèi)存耗盡的問題
【6】Docker 鏡像使用
【7】學(xué)生如何免費使用Pycharm專業(yè)版全部功能

到此這篇關(guān)于pycharm與ssh遠程訪問服務(wù)器docker的詳細教程的文章就介紹到這了,更多相關(guān)pycharm遠程訪問docker內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決docker安裝后運行hello-world報錯的問題

    解決docker安裝后運行hello-world報錯的問題

    這篇文章主要介紹了解決docker安裝后運行hello-world報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Docker創(chuàng)建enrollment token錯誤異常解析及解決方案

    Docker創(chuàng)建enrollment token錯誤異常解析及解決方案

    部署完kibana,需要通過enrollment token方式來連接elasticsearch,此時需要在elasticsearch中創(chuàng)建enrollment token,這篇文章主要介紹了Docker創(chuàng)建enrollment token錯誤異常解析及解決方案,需要的朋友可以參考下
    2024-04-04
  • docker打包node項目的過程講解

    docker打包node項目的過程講解

    今天小編就為大家分享一篇關(guān)于docker打包node項目的過程講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 你可能不知道的docker命令奇怪巧

    你可能不知道的docker命令奇怪巧

    這篇文章主要介紹了你可能不知道的docker命令的奇怪巧,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Docker?安裝Redis?無法使用配置文件設(shè)置密碼問題及解決方法

    Docker?安裝Redis?無法使用配置文件設(shè)置密碼問題及解決方法

    最近開發(fā)需要使用各種組件,如果都到開發(fā)機上安裝,會占用電腦資源較多,所以使用docker容器來安裝這些組件,這篇文章主要介紹了Docker安裝Redis無法使用配置文件設(shè)置密碼問題,需要的朋友可以參考下
    2023-08-08
  • 基于docker搭建selenium分布式環(huán)境

    基于docker搭建selenium分布式環(huán)境

    這篇文章主要介紹了基于docker搭建selenium分布式環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • CentOS7如何修改Docker鏡像默認存儲位置

    CentOS7如何修改Docker鏡像默認存儲位置

    這篇文章主要介紹了CentOS7如何修改Docker鏡像默認存儲位置問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker部署Mysql8.0.20并配置主從復(fù)制的實現(xiàn)步驟

    Docker部署Mysql8.0.20并配置主從復(fù)制的實現(xiàn)步驟

    主從復(fù)制是指數(shù)據(jù)可以從一個MySQL數(shù)據(jù)庫服務(wù)器主節(jié)點復(fù)制到一個或多個從節(jié)點,本文主要介紹了Docker部署Mysql8.0.20并配置主從復(fù)制的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • harbor修改配置文件后重啟操作

    harbor修改配置文件后重啟操作

    這篇文章主要介紹了harbor修改配置文件后重啟操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 使用Docker安裝部署MySQL和Redis的詳細過程

    使用Docker安裝部署MySQL和Redis的詳細過程

    這篇文章主要介紹了使用Docker安裝部署MySQL和Redis,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06

最新評論