docker容器沒有apt Docker使用大彙總

2021-10-13 18:00:46 字數 2740 閱讀 3188

有一些需要從頭編譯的庫,直接利用conda安裝會出現cuda編譯不通過,因此開始入坑docker。知乎排版太難了,以下只做三個問題的摘錄,

docker 分為 ce 和 ee 兩大版本。ce 即社群版(免費),ee 即企業版,強調安全,付費使用。docker ce 分為 stable, test, 和 nightly 三個更新頻道。每六個月發布乙個 stable 版本 (18.09, 19.03, 19.09…)。源自知乎

docker公升級到19.03以後,nvidia將提供原生的顯示卡支援,只需要安裝nvidia-container-toolkit工具包即可,不再像使用nvidia-docker/2那樣複雜配置. 源自網頁

然後按照 安裝nvidia-container-toolkit, 簡簡單單如下:

distribution=$(. /etc/os-release;echo $id$version_id)

curl -s -l | sudo apt-key add -

curl -s -l | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

sudo systemctl restart docker

docker pull pytorch/pytorch:1.2-cuda10.0-cudnn7-devel

docker run --gpus all -v /home/liufg/folder:/workspace pytorch/pytorch:1.2-cuda10.0-cudnn7-devel

即cv2.imshow(), matplotlib都無法視覺化, 解決方案可見: 以下做摘錄, 總的來說就是顯示到本地顯示器.

apt-get install x11-xserver-utils

xhost +

xhost +的作用是開放許可權,允許所有使用者,當然包括docker,訪問x11 的顯示介面

如果xhost +不能執行,報錯:xhost : unable to open display 「」

可以輸入命令export display=:0執行一下

-v /tmp/.x11-unix:/tmp/.x11-unix            #共享本地unix埠

-e display=unix$display #修改環境變數display

-e gdk_scale #我覺得這兩個是與顯示效果相關的環境變數,沒有細究

-e gdk_dpi_scale

最終的啟動命令就會長類似這樣

docker run -it 

-- gpus all

-v /your-work:/workspace

-v /tmp/.x11-unix:/tmp/.x11-unix

-e display=unix$display

-e gdk_scale

-e gdk_dpi_scale

--name 名稱

映象名稱

這樣啟動後的容器,執行有圖形介面的程式就可以自由顯示,和在本地顯示一樣了。

pycharm連線docker容器, 用來除錯**. 以下記錄容器已經建好, 然後pycharm連線.

其實也可以pycharm連線映象, 新建乙個容器,然後在此容器中安裝自己的庫.
遠端連線和本地連線相同, 都是通過ssh.

參考:

將容器22埠對映到host主機的8010, 注意這裡22號埠是ssh的預設埠, 8010可以隨意指定host的空閒埠. (若有誤請指正)

apt-get install openssh-server

passwd root

vim /etc/ssh/sshd_config
修改內容如下:

# permitrootlogin prohibit-password # 預設開啟 禁止root使用者使用密碼登陸,需要將其注釋

rsaauthentication yes #啟用 rsa 認證

pubkeyauthentication yes #啟用公鑰私鑰配對認證方式

permitrootlogin yes #允許root使用者使用ssh登入

service ssh restart

# 或者

/etc/init.d/ssh restart

docker port或者docker ps -a命令可以讓我們快捷地檢視埠的繫結情況

直接新增ssh環境.

docker容器 Docker 容器逃逸漏洞

2020年12月1日,阿里雲應急響應中心監測到 containerd 官方發布安全更新,修復了 docker 容器逃逸漏洞 cve 2020 15257 漏洞描述 containerd 是乙個控制 runc 的守護程序,提供命令列客戶端和 api,用於在乙個機器上管理容器。在特定網路條件下,攻擊者可...

docker容器中沒有vi編輯命令,簡單的處理方法

在使用docker容器時,有時在寫入編輯乙個文字時,使用vi命令,卻發現報錯,顯示容器中沒有此命令 vi command not found,使用yum安裝也顯示沒有此命令,這時,可以選擇用以下兩種方式解決 一 更新軟體包,在命令列中輸入 apt get update同步更新 etc apt sou...

docker學習 docker容器

1.容器檢視 已經啟動的容器 docker ps 所有的容器 docker ps a2.啟動容器相關引數 互動式容器 退出時容器處於停止狀態,無法使用 docker run it name mynginx nginx bin bash 退出當前容器 exit 守護式容器 埠88是宿主機的對映埠 do...