docker 學(xué)習(xí)–03 環(huán)境安裝(本人使用的win10 Linux也是在win10下模擬)
docker 學(xué)習(xí)-- 01 基礎(chǔ)知識(shí)文章來源:http://www.zghlxwxcb.cn/news/detail-659621.html
docker 學(xué)習(xí)-- 02 常用命令文章來源地址http://www.zghlxwxcb.cn/news/detail-659621.html
docker 學(xué)習(xí)-- 03 環(huán)境安裝
docker 學(xué)習(xí)-- 04 實(shí)踐 1(寶塔)
docker 學(xué)習(xí)-- 04 實(shí)踐 2 (lnpmr環(huán)境)
1. windows10 安裝docker
``
在 Windows 10 上安裝 Docker 分為兩種方式:使用 Docker Desktop for Windows 和安裝
Docker 工具包。 這里使用的是 Docker Desktop for WindowsDocker Desktop for Windows 是官方提供的一款桌面應(yīng)用程序,可以幫助您在 Windows 10 上快速安裝和啟動(dòng)
Docker 環(huán)境。
官網(wǎng) :https://www.docker.com/products/docker-desktop/
1.1 訪問官網(wǎng) 點(diǎn)擊下載
1.2.點(diǎn)擊下載的 exe文件-> 點(diǎn)擊ok
1.3錯(cuò)誤處理 重啟之后打開 報(bào)錯(cuò) 大概意思是缺少 WSL 這個(gè)東西并且我沒有開啟 虛擬化和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(管理員運(yùn)行)
//開啟虛擬化
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
//開始Hyper-V
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
//重啟完
wsl --install #安裝 wsl
//如果還報(bào)錯(cuò)去升級(jí) wsl --update
wsl --update
//重置 如果打開還發(fā)現(xiàn)報(bào)錯(cuò) Docker Desktop - Unexpected wSL error
netsh winsock reset #重啟網(wǎng)絡(luò)
2. Docker desktop 切換國(guó)內(nèi)鏡像
鏡像源
網(wǎng)易:http://hub-mirror.c.163.com
中科大鏡像地址:http://mirrors.ustc.edu.cn/
中科大github地址:https://github.com/ustclug/mirrorrequest
Azure中國(guó)鏡像地址:http://mirror.azure.cn/
Azure中國(guó)github地址:https://github.com/Azure/container-service-for-azure-china
DockerHub鏡像倉(cāng)庫(kù): https://hub.docker.com/
阿里云鏡像倉(cāng)庫(kù): https://cr.console.aliyun.com
google鏡像倉(cāng)庫(kù): https://console.cloud.google.com/gcr/images/google-containers/GLOBAL (如果你本地可以翻墻的話是可以連上去的 )
coreos鏡像倉(cāng)庫(kù): https://quay.io/repository/
RedHat鏡像倉(cāng)庫(kù): 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是一個(gè)用來定義和運(yùn)行多個(gè)復(fù)雜應(yīng)用的Docker編排工具。例如,一個(gè)使用Docker容器的微服務(wù)項(xiàng)目,通常由多個(gè)容器應(yīng)用組成。那么部署時(shí)如何快速啟動(dòng)各個(gè)微服務(wù)呢,一個(gè)個(gè)手動(dòng)啟動(dòng)?假如有上百個(gè)微服務(wù)呢,顯然不現(xiàn)實(shí),那么使用Docker Compose編排工具便可快速啟動(dòng)容器。
Compose 通過一個(gè)配置文件來管理多個(gè)Docker容器,在配置文件中,所有的容器通過services來定義,然后使用docker-compose腳本來啟動(dòng),停止和重啟應(yīng)用,和應(yīng)用中的服務(wù)以及所有依賴服務(wù)的容器,非常適合組合使用多個(gè)容器進(jìn)行開發(fā)的場(chǎng)景。
編譯一個(gè)本地文件來啟動(dòng)服務(wù)
3.1 docker-compose 指令集
獲得一個(gè)命令的幫助
docker-compose 命令 --help
構(gòu)建并啟動(dòng)所有容器,如果鏡像存在就重新構(gòu)建
docker-compose up -d --build
啟動(dòng)所有服務(wù)
docker-compose up -d
構(gòu)建啟動(dòng)nignx容器
docker-compose up -d nginx
-f 指定使用的Compose配置文件啟動(dòng),默認(rèn)為docker-compose.yml,可以多次指定。
docker-compose -f docker-compose.yml up -d
運(yùn)行一個(gè)服務(wù),并在服務(wù)上執(zhí)行一個(gè)命令
docker-compose run 容器id或容器名 ip addr
登錄到nginx容器中
docker-compose exec nginx bash
此命令將會(huì)停止 up 命令所啟動(dòng)的容器,并移除網(wǎng)絡(luò)
docker-compose down
列出項(xiàng)目中運(yùn)行的所有容器
docker-compose ps
列出項(xiàng)目中運(yùn)行及未運(yùn)行的所有容器
docker-compose ps -a
列出所有運(yùn)行的服務(wù)容器
docker-compose ls
列出所有服務(wù)容器(包括未運(yùn)行的容器)
docker-compose ls -a
重新啟動(dòng)nginx容器
docker-compose restart nginx
構(gòu)建鏡像
docker-compose build nginx
不帶緩存的構(gòu)建
docker-compose build --no-cache nginx
查看各個(gè)服務(wù)容器內(nèi)運(yùn)行的進(jìn)程
docker-compose top
查看nginx的實(shí)時(shí)日志
docker-compose logs -f nginx
列出 Compose 文件包含的鏡像
docker-compose images
驗(yàn)證文件配置,當(dāng)配置正確時(shí),不輸出任何內(nèi)容,當(dāng)文件配置錯(cuò)誤,輸出錯(cuò)誤信息。
docker-compose config
以json的形式輸出nginx的docker日志
docker-compose events --json nginx
暫停nignx容器
docker-compose pause nginx
恢復(fù)ningx容器
docker-compose unpause nginx
刪除容器(刪除前必須關(guān)閉容器,執(zhí)行stop)
docker-compose rm nginx
強(qiáng)制刪除容器(不必先關(guān)閉容器)
docker-compose rm -f nginx
停止nignx容器
docker-compose stop nginx
啟動(dòng)nignx容器
docker-compose start nginx
重啟項(xiàng)目中的nignx容器
docker-compose restart nginx
下載依賴的鏡像
docker-compose pull
推送服務(wù)依的鏡像
docker-compose push
設(shè)置指定服務(wù)運(yùn)行的容器個(gè)數(shù)。通過service=num的參數(shù)來設(shè)置數(shù)量
docker-compose scale web=3 db=2
查看版本信息
docker-compose version
4 制作一個(gè)示例
我想要的效果是文件都在 我本地的數(shù)據(jù)庫(kù)上 本地的數(shù)據(jù)庫(kù)可以和容器里互通 文件如下
version: '3.4'
services:
mysql1: #mysql容器
image: mysql
container_name: mysql1
restart: always
# 授權(quán)
user: root
privileged: true
environment: ##設(shè)置環(huán)境便變量
TZ: Asia/Shanghai ##設(shè)置時(shí)區(qū)
MYSQL_ROOT_PASSWORD: 123456 #這里自行設(shè)置root用戶的密碼
command: ##設(shè)置容器運(yùn)行時(shí)執(zhí)行的命令
--default-authentication-plugin=mysql_native_password
volumes:
- /D:/phpstudy_pro/Extensions/MySQL5.7.26/:/var/lib/mysql #掛載文件
ports:
- 3307:3306 #宿主機(jī)和容器間的端口映射,可自行配置
我是在d 盤文件 下創(chuàng)建 了 一個(gè) mysql_ceshi.yml 文件
在此目錄下 使用 運(yùn)行腳本
docker-compose -f mysql_ceshi.yml up
成功運(yùn)行我們來訪問一下吧
鏈接成功
其他鏈接
docker 學(xué)習(xí)-- 01 基礎(chǔ)知識(shí)
docker 學(xué)習(xí)-- 02 常用命令
到了這里,關(guān)于docker 學(xué)習(xí)--03 環(huán)境安裝(本人使用的win10 Linux也是在win10下模擬)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!