docker 學習–03 環境安裝(本人使用的win10 Linux也是在win10下模擬)
docker 學習-- 01 基礎知識
docker 學習-- 02 常用命令
文章目錄
- docker 學習--03 環境安裝(本人使用的win10 Linux也是在win10下模擬)
- @[TOC](文章目錄)
- 1. windows10 安裝docker
- 1.1 訪問官網 點擊下載
- 1.2.點擊下載的 exe文件-> 點擊ok
- 1.3錯誤處理 重啟之后打開 報錯 大概意思是缺少 WSL 這個東西并且我沒有開啟 虛擬化和Hyper-V
- 2. Docker desktop 切換國內鏡像
- 3. 按照 Docker-composer
- 3.1 docker-compose 指令集
- 4 制作一個示例
- 其他鏈接
文章目錄
- docker 學習--03 環境安裝(本人使用的win10 Linux也是在win10下模擬)
- @[TOC](文章目錄)
- 1. windows10 安裝docker
- 1.1 訪問官網 點擊下載
- 1.2.點擊下載的 exe文件-> 點擊ok
- 1.3錯誤處理 重啟之后打開 報錯 大概意思是缺少 WSL 這個東西并且我沒有開啟 虛擬化和Hyper-V
- 2. Docker desktop 切換國內鏡像
- 3. 按照 Docker-composer
- 3.1 docker-compose 指令集
- 4 制作一個示例
- 其他鏈接
1. windows10 安裝docker
``
在 Windows 10 上安裝 Docker 分為兩種方式:使用 Docker Desktop for Windows 和安裝
Docker 工具包。 這里使用的是 Docker Desktop for WindowsDocker Desktop for Windows 是官方提供的一款桌面應用程序,可以幫助您在 Windows 10 上快速安裝和啟動
Docker 環境。
官網 :https://www.docker.com/products/docker-desktop/
1.1 訪問官網 點擊下載
1.2.點擊下載的 exe文件-> 點擊ok
1.3錯誤處理 重啟之后打開 報錯 大概意思是缺少 WSL 這個東西并且我沒有開啟 虛擬化和Hyper-V
Docker Desktop - WSL kernel version too low Docker Desktop requires a
newer WSL kernel version. Update the WSL kernel by running “wsl
–update” or follow instructions athttps://docs,microsoft,com/windows/wsl/wsl2-kernel.
打開PowerShell(管理員運行)
//開啟虛擬化
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
//開始Hyper-V
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
//重啟完
//發現還是在報這個錯誤 使用 wsl --update 解決
wsl --update
2. Docker desktop 切換國內鏡像
鏡像源
網易:http://hub-mirror.c.163.com
中科大鏡像地址:http://mirrors.ustc.edu.cn/
中科大github地址:https://github.com/ustclug/mirrorrequest
Azure中國鏡像地址:http://mirror.azure.cn/
Azure中國github地址:https://github.com/Azure/container-service-for-azure-china
DockerHub鏡像倉庫: https://hub.docker.com/
阿里云鏡像倉庫: https://cr.console.aliyun.com
google鏡像倉庫: https://console.cloud.google.com/gcr/images/google-containers/GLOBAL (如果你本地可以翻墻的話是可以連上去的 )
coreos鏡像倉庫: https://quay.io/repository/
RedHat鏡像倉庫: https://access.redhat.com/containers
{"registry-mirrors": ["http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"],"insecure-registries": [],"debug": true,"experimental": false
}
3. 按照 Docker-composer
作用 :
Docker Compose是一個用來定義和運行多個復雜應用的Docker編排工具。例如,一個使用Docker容器的微服務項目,通常由多個容器應用組成。那么部署時如何快速啟動各個微服務呢,一個個手動啟動?假如有上百個微服務呢,顯然不現實,那么使用Docker Compose編排工具便可快速啟動容器。
Compose 通過一個配置文件來管理多個Docker容器,在配置文件中,所有的容器通過services來定義,然后使用docker-compose腳本來啟動,停止和重啟應用,和應用中的服務以及所有依賴服務的容器,非常適合組合使用多個容器進行開發的場景。
編譯一個本地文件來啟動服務
3.1 docker-compose 指令集
獲得一個命令的幫助
docker-compose 命令 --help構建并啟動所有容器,如果鏡像存在就重新構建
docker-compose up -d --build啟動所有服務
docker-compose up -d構建啟動nignx容器
docker-compose up -d nginx -f 指定使用的Compose配置文件啟動,默認為docker-compose.yml,可以多次指定。
docker-compose -f docker-compose.yml up -d運行一個服務,并在服務上執行一個命令
docker-compose run 容器id或容器名 ip addr登錄到nginx容器中
docker-compose exec nginx bash此命令將會停止 up 命令所啟動的容器,并移除網絡
docker-compose down列出項目中運行的所有容器
docker-compose ps列出項目中運行及未運行的所有容器
docker-compose ps -a列出所有運行的服務容器
docker-compose ls列出所有服務容器(包括未運行的容器)
docker-compose ls -a重新啟動nginx容器
docker-compose restart nginx 構建鏡像
docker-compose build nginx 不帶緩存的構建
docker-compose build --no-cache nginx 查看各個服務容器內運行的進程
docker-compose top 查看nginx的實時日志
docker-compose logs -f nginx 列出 Compose 文件包含的鏡像
docker-compose images 驗證文件配置,當配置正確時,不輸出任何內容,當文件配置錯誤,輸出錯誤信息。
docker-compose config 以json的形式輸出nginx的docker日志
docker-compose events --json nginx 暫停nignx容器
docker-compose pause nginx 恢復ningx容器
docker-compose unpause nginx 刪除容器(刪除前必須關閉容器,執行stop)
docker-compose rm nginx 強制刪除容器(不必先關閉容器)
docker-compose rm -f nginx 停止nignx容器
docker-compose stop nginx 啟動nignx容器
docker-compose start nginx 重啟項目中的nignx容器
docker-compose restart nginx 下載依賴的鏡像
docker-compose pull 推送服務依的鏡像
docker-compose push設置指定服務運行的容器個數。通過service=num的參數來設置數量
docker-compose scale web=3 db=2查看版本信息
docker-compose version
4 制作一個示例
我想要的效果是文件都在 我本地的數據庫上 本地的數據庫可以和容器里互通 文件如下
version: '3.4'
services:mysql1: #mysql容器image: mysql container_name: mysql1restart: always# 授權user: rootprivileged: true environment: ##設置環境便變量TZ: Asia/Shanghai ##設置時區MYSQL_ROOT_PASSWORD: 123456 #這里自行設置root用戶的密碼command: ##設置容器運行時執行的命令--default-authentication-plugin=mysql_native_passwordvolumes:- /D:/phpstudy_pro/Extensions/MySQL5.7.26/:/var/lib/mysql #掛載文件ports:- 3307:3306 #宿主機和容器間的端口映射,可自行配置
我是在d 盤文件 下創建 了 一個 mysql_ceshi.yml 文件
在此目錄下 使用 運行腳本
docker-compose -f mysql_ceshi.yml up
成功運行我們來訪問一下吧
鏈接成功
其他鏈接
docker 學習-- 01 基礎知識
docker 學習-- 02 常用命令