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

Docker?Desktop?安裝的詳細(xì)步驟

 更新時間:2023年08月04日 10:08:22   作者:IT小郭.  
作為開發(fā)人員,在日常開發(fā)中,我們需要在本地去啟動一些服務(wù),可以使用Docker?Desktop,本文主要介紹了Docker?Desktop?安裝的詳細(xì)步驟,感興趣的可以了解一下

一、前言

作為開發(fā)人員,在日常開發(fā)中,我們需要在本地去啟動一些服務(wù),如:redis、MySQL等,就需要去下載這些在本地去啟動,操作較為繁瑣。此時,我們可以使用Docker Desktop,來搭建我們需要的服務(wù),直接在容器中去啟動即可。

二、下載 Docker Desktop

docker官網(wǎng):https://www.docker.com/

三、安裝 Docker Desktop

1、下載并安裝

我在windows上下載的是 Docker Desktop,下載地址,點進去根據(jù)自己的需要去下載,我是下載的Windows版本的。把下載下來的.exe文件雙擊打開,如下圖所示,直接點擊OK即可。

安裝完后,會有個對應(yīng)的小圖標(biāo)。

2、配置 Docker Desktop 環(huán)境

因為docker desktop 是可以部署在windows 上來運行docker的應(yīng)用服務(wù)的,其基于windows 的 Hyper-V服務(wù)和WSL2內(nèi)核的Windows上創(chuàng)建一個子系統(tǒng)(linux),從而實現(xiàn)其在windows上運行docker。所以電腦上需要開啟Hyper-V服務(wù),和安裝WSL2。

開啟Hyper-V 服務(wù):控制面板—程序—程序和功能—啟動或關(guān)閉Windows功能 中 勾選【Hyper-V】和【容器】選項。

配置完畢后,重啟電腦

3、安裝 wsl2

我們可以從微軟官網(wǎng)下載最新版本的wsl2,然后正常打開。

下面這個鏈接,訪問下載,安裝更新:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

下載完成后直接雙擊安裝即可

4、打開 Docker Desktop 的問題

問題一:wsl 2 installation

打開 docker desktop, 如果出現(xiàn)報錯如下,報錯意思是:是因為我們還需要進行wsl的下載和配置

這里我們用兩步來解決這個問題:

1、我們先去系統(tǒng)里查看一下有沒有啟用Windows的Linux子系統(tǒng),步驟如下:

控制面板->程序->程序和功能

如果沒有的話,我們勾選上,重新啟動電腦,打開Docker Desktop 。

2、如果還是沒有解決的話。原因就剩一個了就是:

我們使用的wsl2版本很舊,因此需要手動更新。我們可以根據(jù)提示從微軟官網(wǎng)下載最新版本的wsl2,然后正常打開。

下面這個鏈接,訪問下載,安裝更新:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

下載完成后直接雙擊安裝即可

重新啟動,運行,發(fā)現(xiàn)問題已經(jīng)解決。

問題二:wsl kernel 版本低

如果已經(jīng)按照過wsl , 打開 docker desktop, 如果出現(xiàn)報錯如下,報錯意思是:wsl kernel 版本低,需要進行更新。

解決方法:以管理員的身份打開控制臺(cmd),并執(zhí)行命令 wsl --update 進行更新

如上圖中提示,wsl 更新成功后,需要對wsl重啟后才會更新生效??梢詧?zhí)行 wsl --shutdown 進行關(guān)閉wsl (我執(zhí)行命令后又重啟了一下電腦。)

重啟后,再次打開 docker desktop即可

如果電腦windows 10 的企業(yè)版的話,以上的安裝部署就完畢了, 但我在安裝windows 10 家庭版的時候,報錯。網(wǎng)上查的意思是說 docker 必須安裝在win10 企業(yè)版本,如果想安裝在家庭版本上,需要如下操作: 打開注冊表編輯器,在“ 計算機\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion ” 下找到 EditionID ,數(shù)值數(shù)據(jù)改為Professional即可。

四、Docker Desktop 配置鏡像源

配置鏡像源:打開Docker ,找到 設(shè)置–docker engine 中,添加如下圖所示的鏡像源地址。

選擇DockerEngine,在其中輸入(這里使用的是163的源,如果想要使用其他源可以自行設(shè)置,github上有個項目:docker_mirror可以自動檢測在你的網(wǎng)絡(luò)環(huán)境下那個源是最快的)

{
    "registry-mirrors" : [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://cr.console.aliyun.com",
    "https://mirror.ccs.tencentyun.com"
  ],
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  }
}

一直轉(zhuǎn)轉(zhuǎn)轉(zhuǎn),等一會就可以了,不轉(zhuǎn)了就可以了

五、Disk image location路徑的修改

操作如下(示例):完成安裝后,打開軟件,點擊右上角的設(shè)置,將圖2中的紅框標(biāo)注部分的選中給取消,然后按照圖3進行路徑的修改,再返回圖2界面,把紅框部分選中,并應(yīng)用即可。

六、驗證是否安裝成功

代碼如下(示例):在左下角的搜索框中,輸出PowerShell,打開PowerShell。輸入dockerimages命令,出現(xiàn)下圖所示即表示安裝成功。

七、使用 Docker Desktop

1)containers介紹如下

點擊上圖中的容器名稱,例如「mysql_cn」,會進入到如下圖所示的容器頁面。展示了此容器的一些信息和操作按鈕,點擊「Logs」的tap頁,會顯示此容器的運行日志。容器日志直接展示在頁面上,就方便查看了(一般也可以在后臺通過docker命令來查看日志信息。不過命令查看有點麻煩,看起來也不太方便)

terminal 是容器的終端(即已經(jīng)在容器里面了), 可以在終端上執(zhí)行一些mysql的命令,進入到mysql 執(zhí)行sql語句。

一般如果不通過這個終端的話,需要在控制臺上先通過docker 命令進入到容器內(nèi)部,然后再在容器內(nèi)部使用mysql命令

所以terminal 的好處就是省略了 docker命令進容器的步驟。還是比較方便的。

2)images 介紹如下

一個鏡像可以啟動多個容器,可以設(shè)置不同的容器名稱,比如為可以啟動兩個mysql容器這樣就有兩個mysql容器在運行,兩者運行互不干擾。

通過鏡像啟動一個容器:

如下圖,通過鏡像啟動一個容器時,只配置了容器名和環(huán)境變量信息,沒有配置端口映射。但是容器也是可以啟動的。(個人理解:端口映射的目的是為了其他電腦訪問本機的mysql_2 容器時,是通過 本機ip +映射端口來訪問的。映射端口 是映射到了 mysql_2容器的端口。這樣就可以訪問容器中的mysql 了。 但如果容器本身不需要被訪問的話,容器自己運行,我通過控制臺使用docker 命令來進入到容器內(nèi)容,使用mysql的命令進入到mysql 中來操作mysql ,也是可以的。)

不過,正常的使用情況是需要配置端口映射的。下圖中,端口配置中,有兩個端口需要配置端口映射,一個是3306,一個是33060端口。查看一下資料,兩個端口是分別使用不同的協(xié)議來進行通信的。通常我們使用的都是3306, 所以只配置3306端口的映射即可(在輸入框中輸入一個端口號,前提是未被占用的端口號; 或者直接輸入個0 ,會隨機分配一個端口號)。

3)Search 介紹如下

Search 的搜索框可以直接在這里搜索并且pull 下需要的鏡像。

還有一些其他的功能,目前也使用不到,這里先不做記錄和講解了。后續(xù)用到了再記錄吧;

八、在 cmd 窗體 使用 命令操作 Docker

使用快捷鍵: win+R 調(diào)查 cmd 窗體

1、對Docker操作

安裝完成Docker后,默認(rèn)每次開機的時候都會自動啟動,但我們也可以手動啟動,關(guān)閉或者重啟Docker

# 啟動docker
sudo service docker start
# 重啟docker
sudo service docker restart
# 停止docker
sudo service docker stop

2、查看本機所有的鏡像

docker images
# 或者
docker image ls

標(biāo)簽含義
REPOSITORY鏡像所在的倉庫名稱
TAG鏡像標(biāo)簽
IMAGEID鏡像ID
CREATED鏡像的創(chuàng)建日期(不是獲取該鏡像的日期)
SIZE鏡像大小

3、拉去鏡像(docker pull)

除了使用官方的鏡像外,我們還可以在倉庫中申請一個自己的賬號,保存自己制作的進行,或者拉去使用他人的鏡像。

# 官方鏡像
docker image pull 鏡像名稱 
# 或簡寫為 
docker pull 鏡像名稱
# 比如
docker pull ubuntu
docker pull ubuntu:16.04
# 個人鏡像
docker pull 倉庫名稱/鏡像名稱
docker pull xunmi/django
# 第三方倉庫拉去
docker pull 第三方倉庫地址/倉庫名稱/鏡像名稱
docker pull hub.c.163.com/library/mysql:latest
(默認(rèn)倉庫名為library,所有從官方獲取鏡像相當(dāng)于`sudo docker image pull library/鏡像名稱`)

4、刪除鏡像(docker rmi)

docker image rm 鏡像名或鏡像ID 或 docker rmi 鏡像名或鏡像ID
docker image rm hello-world
docker rmi 9e64176cd8a2

刪除鏡像的前提是沒有使用這個鏡像的容器,如果有需要先刪除容器(報錯:Error response from daemon: conflict: unable to delete 鏡像ID (must be forced) - image is being used by stopped container 容器ID則代表有容器使用了此鏡像。)可以嘗試先執(zhí)行docker rm 容器ID刪除容器,如果還報錯,可以看我下方刪除容器的具體方法。 幾條刪除命令的區(qū)別

  • docker rm: 刪除一個或多個 容器
  • docker rmi: 刪除一個或多個 鏡像
  • docker prune: 用來刪除不再使用的 docker 對象

5、加載鏡像(docker run)

上面我們說過,鏡像只是一個只讀類型的文件,而我們的環(huán)境不可能只是一個這樣的文件,所以我們需要把這個鏡像加載成我們的環(huán)境,也就是讓他變成容器。

docker run [可選參數(shù)] 鏡像名 [向啟動容器中傳入的命令]
常用可選參數(shù)作用
-i表示以《交互模式》運行容器。
-d會創(chuàng)建一個守護式容器在后臺運行(這樣創(chuàng)建容器后不會自動登錄容器)。
-t表示容器啟動后會進入其命令行。加入這兩個參數(shù)后,容器創(chuàng)建就能登錄進去。即分配一個偽終端。
–name為創(chuàng)建的容器命名。(默認(rèn)會隨機給名字,不支持中文字符!!!)
-v表示目錄映射關(guān)系,即宿主機目錄:容器中目錄。注意:最好做目錄映射,在宿主機上做修改,然后共享到容器上。
-p表示端口映射,即宿主機端口:容器中端口。 比如:-p 8080:80 就是將容器中的80端口,映射到主機中的8080端口
–network=host表示將主機的網(wǎng)絡(luò)環(huán)境映射到容器中,使容器的網(wǎng)絡(luò)與主機相同。每個 Docker 容器都有自己的網(wǎng)絡(luò)連接空間連接到虛擬 LAN。使用此命令則會讓容器和主機共享一個網(wǎng)絡(luò)空間。

可以啟動一個系統(tǒng) docker run -i -d -t --name=kali-test kalilinux/kali-rolling(這里我使用linux的一個發(fā)行版kali作為介紹) 或可以簡寫為docker run -idt --name=kali-test kalilinux/kali-rolling PS: 如果加載一個我們沒有的鏡像,docker會自動從官方倉庫中進行拉去。

或者我們可以啟動一個網(wǎng)站docker run -dp 8080:80 --name docker-test docker/getting-started

如果你沒有下載docker/getting-started的進行,這里會自動幫你下載成功啟動后,可以在瀏覽器中輸入http://localhost:8080/即可看到如下頁面

6、使用交互式容器

上面我們成功將鏡像變成了容器,但上述的命令中我們都加入了-d,讓容器在后臺運行了。下面我們就來講如何和正在運行的容器進行交互。

6.1、查看容器(docker ps)

查看容器主要會用到ps命令

# 查看當(dāng)前所有正在運行的容器
docker ps
# 查看當(dāng)前所有的容器
docker ps -a
# 使用過濾器(除了name外,常用的還可以指定id:id= 、所有停止的容器:status=exited,正在運行的容器:status=running 等)
docker ps -f name=指定的名字
# 顯示2個上次創(chuàng)建的容器(2可以改變)
docker ps -n 2
# 顯示最新創(chuàng)建的容器(包括所有狀態(tài))
docker ps -l
# 僅顯示ip
docker ps -q
 # 顯示容器大小
docker ps -s
標(biāo)簽含義
CONTAINER ID鏡像ID
IMAGE創(chuàng)建容器的鏡像名稱
COMMAND默認(rèn)啟動命令(啟動時會自動執(zhí)行)
CREATED創(chuàng)建容器的日期
STATUS當(dāng)前的狀態(tài)(啟動了多久,多久之前退出等)
PORTS映射的端口
NAMES容器的名稱
SIZE容器大小(使用-s命令參數(shù)時才能看到)

6.2、啟動和關(guān)閉容器

# 停止容器
docker container stop 容器名或容器id
# 或可簡寫為
docker stop 容器名或容器id
# 強制關(guān)閉容器
docker container kill 容器名或容器id
# 或可簡寫為
docker kill 容器名或容器id
# 啟動容器
docker container start 容器名或容器id
# 或可簡寫為
docker start 容器名或容器id
  • 如果我們成功啟動或者關(guān)閉一個容器的話,會返回容器名或者容器id
  • stop和kill的區(qū)別: stop是比較優(yōu)雅的關(guān)掉一個容器,類似我們正常退出一個軟件,而kill是當(dāng)一個進程出現(xiàn)意外無法正常關(guān)閉的時候,我們強行進行關(guān)閉,有點像我們使用任務(wù)管理器進行結(jié)束進程操作。

6.3、操作后臺容器

之前我們下過一個kali并且放在了后臺運行,如果沒有下載可以執(zhí)行下列命令(docker run -i -d -t --name=kali-test kalilinux/kali-rolling),下面我們就用下面的命令開啟kali(如果你下的是其他系統(tǒng),比如ubuntu也可以舉一反三一下)首先我們確保我們要進入的容器是開啟狀態(tài)的,使用docker ps -a查看其中的STATUS屬性是否是Up開頭,如果不是先照著上面啟動容器的方法開啟容器我們開啟容器后,如果需要在容器內(nèi)執(zhí)行命令,可以將后臺切換到前臺,也可能使用docker命令將我們需要執(zhí)行的命令傳入。

操作方法有很多種,這里我們介紹一些比較常用的方法

# 如果我只需要執(zhí)行簡單的一兩條命令可以使用docker exec
# 執(zhí)行單條命令 (-i: 啟動并且保留交互式命令行; -t:作用是分配一個虛擬的終端; docker run )
docker exec -it 容器名或容器id 執(zhí)行的命令
# 比如
docker exec -it kali-test whoami
# 用這種方法,我們還可以啟動命令行,根據(jù)Linux的特性,系統(tǒng)程序會在/bin中,linux中常用的Shell有多個,其中大部分用的Linux默認(rèn)的為bash
# 所以我們啟動命令可以自行如下命令(除了/bin/bash外,linux一般還會帶/bin/sh、/bin/rbash、/bin/dash等,具體區(qū)別可以自行百度)
docker exec -it 容器名或容器id /bin/bash
# 比如
docker exec -it kali-test /bin/bash
# 除了exec外還有attach可以使用,但它有個弊端,多終端啟動attach后,都會會同步顯示。如果有一個窗口阻塞了,那么其他窗口也無法再進行操作。
docker attach 容器名或容器id
# 比如
docker attach kali-test
exec可選參數(shù)作用
-d會創(chuàng)建一個守護式容器在后臺運行(這樣創(chuàng)建容器后不會自動登錄容器)。
-e設(shè)置環(huán)境變量
-i表示以《交互模式》運行容器。
-t表示容器啟動后會進入其命令行。加入這兩個參數(shù)后,容器創(chuàng)建就能登錄進去。即分配一個偽終端。
-u設(shè)置用戶名和UID。
-w設(shè)置容器內(nèi)的工作目錄。

除了上述方法外,在進入容器后,我們還可以嘗試安裝SSH或者nsenter嘗試登陸,不過這兩種方法都先進入容器安裝后才能使用

# nsenter安裝步驟
wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz  
tar -xzvf util-linux-2.24.tar.gz  
cd util-linux-2.24/  
./configure --without-ncurses  
make nsenter  
sudo cp nsenter /usr/local/bin  

6.4、刪除容器(docker rm)

如我我們需要刪除一個容器,首先需要確保這個容器已經(jīng)停止了,因為正在運行的容器是無法直接刪除。 我們可以運行一下docker ps -a,如果發(fā)現(xiàn)沒有停止,可以使用docker stop停止(STATUS下已Exited開頭則是停止的)

# 使用rm刪除容器
docker rm 容器名或容器id
# 列如
docker rm docker-test

如果報錯Error response from daemon: You cannot remove a running container 容器ID. Stop the container before attempting removal or force remove則代表這個容器已經(jīng)啟動,需要執(zhí)行 docker stop 容器id,停止此容器。

6.5、容器制作成鏡像

我們?yōu)槭裁匆讶萜髦谱鞒社R像?

  • 鏡像可以看作為是一種備份,如果我們后期環(huán)境出現(xiàn)了問題,可以還原到早期鏡像。
  • 鏡像便于傳播,可以讓自己的其他設(shè)備或他人的重復(fù)利用變得更加簡單容易。
# 將容器制作成鏡像
docker commit 容器名 鏡像名
# 鏡像打包備份(打包備份的文件會自動存放在當(dāng)前命令行的路徑下,如果想讓保存的文件可以打開,可以加.tar后綴)
docker save -o 保存的文件名 鏡像名
# 鏡像解壓
docker load -i 文件路徑/備份文件

我們將打包備份的鏡像可以通過網(wǎng)絡(luò)發(fā)送到其他設(shè)備上,使用docker鏡像解壓即可直接使用你的環(huán)境。

到此這篇關(guān)于Docker Desktop 安裝的詳細(xì)步驟的文章就介紹到這了,更多相關(guān)Docker Desktop 安裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Intellij IDEA快速實現(xiàn)Docker鏡像部署的方法步驟

    Intellij IDEA快速實現(xiàn)Docker鏡像部署的方法步驟

    本文主要介紹了Intellij IDEA快速實現(xiàn)Docker鏡像部署的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 詳解mac下通過docker搭建LEMP環(huán)境

    詳解mac下通過docker搭建LEMP環(huán)境

    本篇文章主要介紹了詳解mac下通過docker搭建LEMP環(huán)境,詳細(xì)介紹了nginx,mysql,php的安裝配置,有興趣的可以來了解一下。
    2017-03-03
  • docker鏡像如何啟動es/kibana

    docker鏡像如何啟動es/kibana

    這篇文章主要介紹了docker鏡像如何啟動es/kibana問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker?Login?登錄憑證安全存儲方式

    Docker?Login?登錄憑證安全存儲方式

    本文主要探討Docker鏡像倉庫登錄憑證的存儲問題,Docker利用docker login命令校驗用戶鏡像倉庫的登錄憑證,正確的用戶名密碼會以base64編碼格式保存在Docker配置文件中,這種方式極易泄露且不安全
    2024-09-09
  • 給docker創(chuàng)建的elasticsearch容器添加密碼簡單步驟

    給docker創(chuàng)建的elasticsearch容器添加密碼簡單步驟

    在使用Elasticsearch(ES)Docker容器時,有時需要設(shè)置密碼來保護數(shù)據(jù)的安全性,這篇文章主要給大家介紹了關(guān)于給docker創(chuàng)建的elasticsearch容器添加密碼的簡單步驟,需要的朋友可以參考下
    2024-02-02
  • Docker構(gòu)建文件Dockerfile簡單入門

    Docker構(gòu)建文件Dockerfile簡單入門

    這篇文章主要介紹了Docker構(gòu)建文件Dockerfile簡單入門,需要的朋友可以參考下
    2022-04-04
  • docker mysql鏡像因為配置文件出現(xiàn)錯誤一直提示重啟的解決

    docker mysql鏡像因為配置文件出現(xiàn)錯誤一直提示重啟的解決

    這篇文章主要介紹了docker mysql鏡像因為配置文件出現(xiàn)錯誤一直提示重啟的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Ollma本地部署Qwen2.5 14B的詳細(xì)過程(不使用docker)

    Ollma本地部署Qwen2.5 14B的詳細(xì)過程(不使用docker)

    本文介紹了如何在不使用Docker的情況下部署Ollama模型和Open-webui實現(xiàn)可視化界面,Ollama模型通過命令行操作,包括啟動、創(chuàng)建、運行等,Open-webui則需要安裝Anaconda環(huán)境,安裝并啟動服務(wù)后,通過瀏覽器訪問即可使用,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 使用docker-compose實現(xiàn)不停機部署/灰度發(fā)布的四種方法

    使用docker-compose實現(xiàn)不停機部署/灰度發(fā)布的四種方法

    灰度發(fā)布是一種軟件部署策略,它允許將新版本的部分功能或服務(wù)逐步推送給用戶,而不是一次性對所有用戶進行大規(guī)模更新,本文主要給大家介紹了使用docker-compose實現(xiàn)不停機部署/灰度發(fā)布的四種方法,需要的朋友可以參考下
    2024-11-11
  • Docker離線部署geoserver的思路詳解

    Docker離線部署geoserver的思路詳解

    這篇文章主要介紹了Docker離線部署geoserver的思路詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12

最新評論