Docker 從入門到進階 (Win 環境) + Docker 常用命令

目錄

引言

一、準備工作

1.1 系統要求

1.2 啟用虛擬化

二、安裝Docker

2.1 安裝WSL 2

2.2 安裝Docker Desktop

2.3檢查是否安裝成功

三、配置Docker

3.1 打開Docker配置中心

四、下載和管理Docker鏡像

4.1 拉取鏡像

4.2 查看已下載的鏡像

4.3 運行容器

4.4 查看正在運行的容器

4.5 停止容器

4.6 刪除容器

4.7 刪除鏡像

五、高級管理技巧

5.1 使用Docker Compose

5.2 使用Dockerfile構建鏡像

六、常見問題及解決方案

6.1 Docker服務無法啟動

6.2 鏡像拉取失敗

結語

參考文檔:


引言

在當今的軟件開發領域,Docker已經成為容器化應用的首選工具。它不僅簡化了應用的部署和管理,還確保了應用在不同環境中的一致性。Docker憑借??"一次構建,處處運行"??的特性成為開發者必備神器。但很多Windows用戶初次接觸時總在安裝配置環節踩坑,本文不僅提供保姆級教程,助力大家在Windows環境下安裝Docker,并學會如何下載和管理鏡像。

一、準備工作
1.1 系統要求

在開始之前,請確保您的Windows系統滿足以下要求:

  • Windows 10 或更高版本
  • 啟用虛擬化功能(在BIOS中開啟)
1.2 啟用虛擬化
  1. 打開任務管理器:按?Ctrl + Shift + Esc
  2. 查看虛擬化狀態:選擇“性能”標簽頁,查看“CPU”部分,確認“虛擬化”已啟用

二、安裝Docker
2.1 安裝WSL 2

Windows Subsystem for Linux(WSL)是運行Linux二進制可執行文件的兼容層。

  1. 打開命令提示符:按?Win + R,輸入cmd,按回車
  2. 安裝WSL:輸入以下命令并按回車:
    wsl --install
    
  3. 重啟計算機:安裝完成后,重啟計算機以完成WSL的安裝
2.2 安裝Docker Desktop
  1. 下載Docker Desktop:訪問?Docker官網?下載安裝包

  1. 運行安裝程序:雙擊下載的安裝包,按照提示 (全部默認選項) 完成安裝
  2. 啟動Docker Desktop:安裝完成后,啟動 Docker Desktop (啟動很重要,可以不登錄)
2.3檢查是否安裝成功

(1)我們在?CMD?終端中輸入如下命令:

docker?--version


(2)如果成功返回版本信息,則說明?Docker?安裝成功了

(3)或者執行 docker ps 后返回(docker ps?這個命令是查看正在運行的容器)

也說明?Docker?安裝成功了

三、配置Docker
3.1 打開Docker配置中心
  1. 啟動Docker Desktop:點擊系統托盤中的Docker圖標,選擇“Settings”。
  2. 配置國內鏡像源(很重要):在“Docker Engine”標簽頁中,找到"registry-mirrors"字段,添加國內鏡像源,例如:
    {"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://dockermirrors.ustc.edu.cn","https://docke.nju.edu.cn"]
    }
    
  3. 應用更改:點擊“Apply & Restart”

  • 之后執行
  • docker info

    看到以下內容,說明成功添加

四、下載和管理Docker鏡像
4.1 拉取鏡像
  1. 打開命令提示符:按?Win + R,輸入cmd,按回車
  2. 拉取鏡像:使用以下命令拉取所需的鏡像,例如:(nginx是很知名的HTTP和反向代理web服務器)
    docker pull nginx
4.2 查看已下載的鏡像

使用以下命令查看已下載的鏡像:

docker images
4.3 運行容器

使用以下命令運行一個容器:

docker run --name my-nginx -d -p 8080:80 nginx
  • --name:指定容器名稱
  • -d:后臺運行容器
  • -p:端口映射,將主機的8080端口映射到容器的80端口
4.4 查看正在運行的容器

使用以下命令查看正在運行的容器:

docker ps
4.5 停止容器

使用以下命令停止一個容器:

docker stop my-nginx
4.6 刪除容器

使用以下命令刪除一個容器:

docker rm my-nginx
4.7 刪除鏡像

使用以下命令刪除一個鏡像:

docker rmi nginx
五、高級管理技巧
5.1 使用Docker Compose

Docker Compose是一個用于定義和運行多容器應用的工具

  1. 安裝Docker Compose:訪問Docker Compose GitHub頁面下載最新版本
  2. 創建docker-compose.yml文件:編寫一個YAML文件來描述應用的服務,例如:
    version: '3'
    services:web:image: nginxports:- "8080:80"
    
  3. 啟動服務:在docker-compose.yml文件所在目錄下,運行以下命令:
    docker-compose up -d
    
5.2 使用Dockerfile構建鏡像

Dockerfile是一個用于構建Docker鏡像的腳本文件

  1. 創建Dockerfile:編寫一個Dockerfile,例如:
    FROM nginx
    COPY index.html /usr/share/nginx/html/
    
  2. 構建鏡像:在Dockerfile所在目錄下,運行以下命令:
    docker build -t my-custom-nginx .
    
六、常見問題及解決方案
6.1 Docker服務無法啟動
  • 檢查虛擬化是否啟用:確保BIOS中虛擬化功能已開啟
  • 檢查Docker Desktop設置:確保配置正確,特別是鏡像源設置
6.2 鏡像拉取失敗
  • 檢查網絡連接:確保網絡暢通。
  • 更換鏡像源:嘗試使用其他國內鏡像源
結語

通過本文的詳細指南,您應該能夠在Windows環境下順利安裝和配置Docker,并掌握下載和管理鏡像的基本操作

Docker的強大功能將大大簡化您的應用部署和管理流程,提升開發效率

現在,你已經掌握了Windows下Docker的核心技能!

參考文檔:

【1】Windows環境下使用Docker下載并管理鏡像的完整指南 - 云原生實踐

【2】改變軟件行業的技術!Docker 10分鐘完全入門指南_嗶哩嗶哩_bilibili

【3】[國內鏡像加速] Docker運行hello-world鏡像失敗或超時-CSDN博客

【4】Docker 命令指南 - PowerShell 在 Win 環境運行 - 云原生實踐

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74805.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74805.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74805.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機視覺5——運動估計和光流估計

一、運動估計 (一)運動場(Motion Field) 定義與物理意義 運動場是三維場景中物體或相機運動在二維圖像平面上的投影,表現為圖像中每個像素點的運動速度矢量。其本質是場景點三維運動(平移、旋轉、縮放等&a…

介質訪問控制——信道劃分

什么是介質訪問 介質訪問(Medium Access)? 是計算機網絡中一種規則,用來解決 ??“多臺設備如何共享同一根網線/信道傳輸數據”? 的問題。你可以理解為: 想象一條只能容一輛車通過的獨木橋(網絡中的網線、Wi-Fi信道…

ERP系統五大生產模式概述

制造業中,選擇合適的生產模式是企業高效運營的關鍵。 以下是ERP系統支持的五大核心生產模式及其特點總結: 1. MTS(按庫存生產) - 定義:先生產后銷售,基于需求預測提前備貨。 - 適用場景:需求穩定、標準化程度高的產品(如日用品、家電)。 - 優點:交貨快、生產…

ubantu操作筆記

安裝ssh服務 1.1 基本安裝 sudo apt update sudo apt install openssh-server -y sudo systemctl start ssh sudo systemctl enable ssh 1.2 配置遠程root登陸 # 0. 設置root密碼 sudo passwd root # 1. 安裝vim依賴 sudo apt-get install vim -y # 2. 編輯配置文件 s…

2-vim編輯器的安裝和使用

一.常用工具介紹 前言: 我們想要編寫c語言代碼,可以使用linux系統提供的工具才能進行代碼的編輯。代碼編寫后,我們還需要驗證代碼的書寫正確。這就需要借助編譯器來進行驗證。linux系統為我們提供了比較好的開發工具。 vim編輯器&#xff…

小剛說C語言刷題——第16講 switch語句

在日常生活中,我們經常會遇到多分支的情況。當分支較多時,我們可以用嵌套的if-else語句。但是這樣會讓結構顯得混亂。這個時候我們可以考慮用switch語句。 1.語法格式 switch (表達式) { case 常量表達式1: 語句1; break; case 常量表達式…

使用 Python 連接 PostgreSQL 數據庫,從 `mimic - III` 數據庫中篩選數據并導出特定的數據圖表

要使用 Python 連接 PostgreSQL 數據庫,從 mimic - III 數據庫中篩選數據并導出特定的數據圖表,你可以按照以下步驟操作: 安裝所需的庫:psycopg2 用于連接 PostgreSQL 數據庫,pandas 用于數據處理,matplot…

過孔的載流能力

PCB過孔的載流能力(即能安全承載的電流大小)主要與以下因素相關: 1. 過孔的尺寸 孔徑(直徑):孔徑越大,橫截面積越大,載流能力越強。 孔壁銅厚:電鍍銅的厚度&#xff08…

(done) 并行計算 CS149 Lecture2 (現代多核處理器) (SIMD, 多核, 超標量, 數據預取, 超線程)

視頻 url: https://www.bilibili.com/video/BV1du17YfE5G?spm_id_from333.788.videopod.sections&vd_source7a1a0bc74158c6993c7355c5490fc600&p2 大佬筆記 url: https://zhuanlan.zhihu.com/p/8129089606 先看視頻: Lecture 0 ~ 28min 的內容基本就是 c…

Leetcode 3508. Implement Router

Leetcode 3508. Implement Router 1. 解題思路2. 代碼實現 題目鏈接:3508. Implement Router 1. 解題思路 這一題就是按照題意寫作一下對應的函數即可。 我們需要注意的是,這里,定義的類當中需要包含以下一些內容: 一個所有i…

Linux: 系統內核中的信號

目錄 一 前言 二 信號在內核中的表示 三 sigset_t 四 信號集操作 1. sigpending() 2. sigemptyset() 3. sigfillset() 4. sigaddset ()和sigdelset() 5. sigismember() 6. sigprocmask() 五 深入理解信號的捕捉流程 一 前言 在Linux: 進程信號初識-CSDN博客信…

Nginx-keepalived-高可用

Nginx 高可用 通常 借助 Keepalived 實現, Keepalived 能通過 VRRP (虛擬路由冗余協議)讓多個 Nginx 服務器 組成一個 熱備集群,當主服務器故障時自動切換到備用服務器,保障服務不間斷。 一、環境準備 角色IP 地址主…

使用python完成手寫數字識別

入門圖像識別的第一個案例,看到好多小伙伴分享,也把自己當初的思路捋捋,寫成一篇博客,作為記錄和分享,也歡迎各位交流討論。 實現思路 數據集:MNIST(包含60,000個訓練樣本和10,000個測試樣本) 深度學習框架:Keras(基于TensorFlow) 模型架構:卷積神經網絡(CNN) 實…

Java學習總結-多線程-三種創建方法

什么是線程? 線程(Thread)是程序內部的一條執行流程。 程序如果只有一條執行流程,那這個程序就是單線程程序。 什么是多線程? 多線程是指從軟硬件上實現的多條執行流程的技術(多條線程由CPU負責調度執行…

電動垂直起降飛行器(eVTOL)

電動垂直起降飛行器(eVTOL)的詳細介紹,涵蓋定義、技術路徑、應用場景、市場前景及政策支持等核心內容: 一、定義與核心特性 eVTOL(Electric Vertical Take-off and Landing)即電動垂直起降飛行器&#xf…

ensp 網絡模擬器 思科華為基于VLANIF的公司網絡搭建

該文章僅記錄作業配置過程 如有雷同純屬巧合 一. 其它(共1題,100分) 1. (其它) 為大學生公司創建部門VLAN 1.項目 背景 為大學生公司現有財務部、技術部和業務部,出于數據安全的考慮,各部門的計算機需進行隔離。公…

使用`sklearn`中的邏輯回歸模型進行股票的情感分析,以及按日期統計積極和消極評論數量的功能

以下是完成上述任務的Python代碼,可在Jupyter Notebook中運行。此代碼包含了使用sklearn中的邏輯回歸模型進行情感分析,以及按日期統計積極和消極評論數量的功能。 import pandas as pd from sklearn.feature_extraction.text import TfidfVectorizer f…

oracle批量刪除分區

為了清理數據,往往需要刪除一些分區 簡單查看當前分區 附件 --創建測試表 -- drop table test_part purge;CREATE TABLE test_part (sales_id NUMBER,sale_date DATE,amount NUMBER ) PARTITION BY RANGE (sale_date) INTERVAL (INTERVAL 1 MONTH) -- 每個月創建…

java流程控制08:For循環

For循環 雖然所有循環結構都可以用while或者do…while表示,但Java提供了另一種語句-----for循環,使一些循環結構變得更加簡單。 for循環語句是支持迭代的一種通用結構,是最有效、最靈活的循環結構。 for循環執行的次數是在執行前就確定的。…

嵌入式軟件開發調試方法

文章目錄 1. 利于函數返回值,retrurn 定位錯誤位置2. 合理使用邏輯分析儀(正點原子 厲害!!) 1. 利于函數返回值,retrurn 定位錯誤位置 如下圖所示,設置不同的返回值,0是ok的,其他值均為失敗&…