日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

docker知识5:在WSL2的ubuntu20.04环境安装使用docker

發(fā)布時間:2025/3/21 Ubuntu 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker知识5:在WSL2的ubuntu20.04环境安装使用docker 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

提要:

本文是關(guān)于docker的專題討論,作者用一組文檔盡可能保證完整地闡述Docker到底是啥?如何使用?docker的使用范圍等。相關(guān)的其它文章是:

Docker知識1:Docker-hub簡介

Docker知識2:安裝docker-desktop

Docker知識3:Docker的體系簡介

Docker知識4:如何在win10下安裝 / 使用ubuntu ?應(yīng)用WSL2

1 安裝docker

因為wsl2已經(jīng)完整使用了linux內(nèi)核了,此種方式和先前在linux安裝docker類似,步驟如下:

$ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh $ sudo service docker start

執(zhí)行腳本安裝過程中,腳本提示“建議使用Docker Desktop for windows”,20s內(nèi)按Ctrl+C會退出安裝,所以需要等待20s,另外此種方式需要訪問外網(wǎng)。

2 檢查docker安裝正常

# 檢查dockerd進程啟動
sudo service docker status
sudo ps aux|grep docker
# 檢查拉取鏡像等正常
sudo docker pull busybox
sudo docker images

注意:不同于完全linux虛擬機方式,WLS2下通過apt install docker-ce命令安裝的docker無法啟動,因為WSL2方式的ubuntu里面沒有systemd。上述官方get-docker.sh安裝的docker,dockerd進程是用ubuntu傳統(tǒng)的init方式而非systemd啟動的。

3 docker服務(wù)的systemd指令和sysvinit指令

wsl2 沒有systemd指令,而是sysvinit指令,雙方對照表為:

Systemd 命令Sysvinit 命令
systemctl start service_nameservice??service_name start
systemctl stop service_nameservice??service_name stop
systemctl restart service_nameservice??service_name restart
systemctl status service_nameservice??service_name status
systemctl enable service_namechkconfig?service_name on
systemctl disnable service_namechkconfig?service_name off

4 常用幾個操作語句

  • 打開ubuntu后常規(guī)語句是

?sudo service docker start

該語句啟動了Docker-engine.

  • 接著登錄遠程的Docker-Hub

sudo docker login

  • 查看Docker-hub上有啥新鮮鏡像,比如,我要一個tensorflow的模塊。

sudo search tensorflow

顯示docker-hub上大量的tensorflow鏡像。

  • 隨便拉一個下來( 比如 下面三個 )

sudo docker pull tensorflow/tensorflow:latist

sudo docker pull tensorflow/tensorflow:1.9.0-d

sudo docker pull theshadowx/qt5

  • ?查看是否已經(jīng)被下載到本地

sudo docker images

  • ?啟動一個容器

sudo docker run -it -p 7777:7777 --name tf-1.99 tensorflow/tensorflow:1.9.0-devel-py3

?注意:1)啟動容器后面的參數(shù)“tensorflow/tensorflow:1.9.0-devel-py3”是個鏡像

? ? ? ? ? ? 2)將端口換換(將7777:7777換成8888:8888) 重復(fù)此語句,將出現(xiàn)兩個相同容器,端口不通。

  • 查看啟動后容器

?sudo docker ps

  • 查看所有容器

sudo docker ps?-a

  • 進入容器內(nèi)部

法1 : sudo docker exec -it? 62e188e9e750 /bin/bash

法2 : sudo docker exec -it? tf-1.9? /bin/bash

注意,此句中的?62e188e9e750是通過,sudo docker ps?-a查看到的容器ID號。tf-1.9是通過sudo docker ps?-a查看到的容器名稱。執(zhí)行失敗多是因為 沒加 /bin/bash

  • 從容器中退出

exit

  • 查看容器的整長度ID號

sudo docker ps --no-trunc -a?

  • 刪除某些容器

sudo docker container prune

  • 刪除本地image鏡像

sudo docker rmi? image-name

5 文件交換

我們存在這樣的問題,已經(jīng)跑好的Win10項目,如何移植到WSL2下的ubuntu內(nèi)部的container中去,因此需要子啊列操作:將做好的項目存放在Win10下某個盤,我這里存到e:盤根目錄。

sudo? cp -r /mnt/e/MNIST_test? ? /home/huatec
這就將整個項目(在e:/MNIST_test下)全部挪到WSL2的ubuntu中了。

然后,再將此項目移植到container中。

sudo docker ps --no-trunc

顯示container的ID全稱?

sudo docker cp /home/huatec/MNIST_test? 62e188e9e7509f520cd7609f04c9c522c634b5bf9238b43eb23433e7081fe092:/home

這樣將全部的項目導(dǎo)入在運行的container內(nèi)部。?

總結(jié)

以上是生活随笔為你收集整理的docker知识5:在WSL2的ubuntu20.04环境安装使用docker的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。