免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

SpringBoot Docker鏡像跨平臺部署與Linux驗收

SpringBoot Docker鏡像跨平臺部署與Linux驗收 簡介這是一份面向 Java 后端開發(fā)者與運維初學者的 Docker 部署實踐文檔圍繞在 Windows 環(huán)境中將 SpringBoot 項目構建為鏡像并遷移到 Linux 主機運行展開。內容從 Dockerfile 基礎寫法切入串聯(lián) jar 包復制、端口暴露、鏡像構建、容器啟動與日志查看并延伸到容器網絡連通性測試、宿主機或獨立 MySQL 容器訪問、數(shù)據(jù)庫掛載目錄持久化等常見問題。文檔還涉及共享主機網絡、ping 與 telnet 排查、Docker Compose 管理多容器應用等排錯思路對鏡像命名、端口沖突、容器重啟策略、MySQL 初始化密碼與目錄映射等細節(jié)也有交代幫助讀者理解鏡像、容器與數(shù)據(jù)卷之間的關系形成從本地開發(fā)機到 Linux 部署環(huán)境的完整參考。文件包共 1 個 docx約 2.48MB以圖文說明和命令示例為主便于對照實踐。已有 135 人學習適合作為 SpringBoot 容器化入門與跨平臺部署的實操資料。1. Windows 里把鏡像跑起來只是前半場搬到 Linux 才是真正的驗收在 Windows 上把 SpringBoot 項目打成 Docker 鏡像、docker run起容器、瀏覽器打開 8080 看到首頁很多人到這一步就收工了等docker save出一個幾百兆的 tar 丟到 Linux 上docker load起來容器啟動幾秒就退出日志里一行Connection refused指向數(shù)據(jù)庫才發(fā)現(xiàn)這套環(huán)境從來不是“裝個 Docker”這么簡單。Dockerfile 里 jar 路徑寫錯容器網絡默認橋接解析不了容器名MySQL 數(shù)據(jù)目錄掛載權限對不上Linux 上的 docker-ce 版本比鏡像還老任何一處都能讓頁面白屏。這套流程適合手上有 SpringBoot MySQL Redis、想在 Windows 上開發(fā)調試、再把同一份鏡像搬到 Linux 跑起來的人。下面按裝什么、怎么裝、壞了怎么救走一遍。2. Dockerfile 落地openjdk:8-jdk-alpine 五行寫死一個可移植鏡像鏡像能不能在另一臺機器上活著跑起來八成取決于 Dockerfile 里那幾個路徑和基礎鏡像選得對不對。這一章先把項目結構釘死再逐行拆一份能直接抄的 Dockerfile最后把docker build和docker run兩刀砍下去。2.1 先把 jar 包位置和 Dockerfile 擺放位置固定下來SpringBoot 項目打包用 Maven 就是一條命令產出的 jar 默認落在target目錄下名字帶版本號。真正容易翻車的是位置Dockerfile必須放在項目根目錄也就是pom.xml同級因為它決定了docker build的構建上下文build contextCOPY后面的源路徑永遠是相對這個上下文算的不是相對Dockerfile所在行的位置。springboot-demo/ ├── pom.xml ├── Dockerfile - 必須在這一層 ├── src/ │ └── main/java/... └── target/ └── demo-app-1.0.0.jar - mvn package 之后才有打包命令用跳過測試的那條本地驗證過功能再跳別在 CI 里也一路跳過# 清理舊產物并跳過測試打包產物落在 target/ 下 mvn clean package -DskipTests打包完先ls target/*.jar看一眼真實文件名。target目錄里經常還有xxx.jar.original這種后綴COPY target/*.jar app.jar在某些情況下會匹配到多個文件直接報錯所以我在正式 Dockerfile 里一律寫死完整文件名寧可改一次 Dockerfile 也不留這個隱患。如果你的項目名和版本號經常變那就退一步用COPY target/*.jar前先確認target下只有一個 jar或者加.dockerignore把*.original排除掉。2.2 逐行拆 DockerfileFROM、WORKDIR、COPY、EXPOSE、ENTRYPOINT這是能直接用的版本比原始寫法多了一個時區(qū)參數(shù)原因后面講# 基礎鏡像用 OpenJDK 8 的 alpine 精簡版體積小夠跑 SpringBoot FROM openjdk:8-jdk-alpine # 容器內的工作目錄后面的相對路徑都基于它 WORKDIR /app # 把本地構建出的 jar 復制進鏡像并重命名為固定的 app.jar COPY target/demo-app-1.0.0.jar app.jar # 聲明應用監(jiān)聽 8080屬于元數(shù)據(jù)不做端口映射 EXPOSE 8080 # 啟動命令exec 形式PID 1 就是 java 進程 ENTRYPOINT [java, -Duser.timezoneAsia/Shanghai, -jar, /app/app.jar]FROM選openjdk:8-jdk-alpine的理由很實際SpringBoot 2.x 配 JDK 8 是主流組合alpine 版本鏡像只有百來兆推來推去不心疼。要注意 alpine 里沒有 glibc項目如果依賴 netty-tcnative 或者某些本地庫運行時會報Error loading shared library這種項目就得換openjdk:8-jdk-slim這類基于 Debian 的鏡像。WORKDIR /app不只是切目錄它會在鏡像層里創(chuàng)建這個目錄后面的COPY和ENTRYPOINT里寫/app/app.jar才對得上。COPY的兩個參數(shù)順序是“源 目標”源必須在構建上下文里../target/xxx.jar這種寫法直接失敗因為上下文之外的文件 Docker 看不見。EXPOSE 8080只是聲明不 publish真正對外還得靠docker run -p。寫它的價值在于別人docker inspect鏡像時能看到這個服務該用哪個端口。ENTRYPOINT用 JSON 數(shù)組的 exec 形式不是ENTRYPOINT java -jar app.jar這種 shell 形式。區(qū)別很致命shell 形式下 PID 1 是/bin/sh -cjava 進程是子進程docker stop發(fā)的 SIGTERM 到不了 JVM容器只能等 10 秒超時后被 SIGKILL 強殺SpringBoot 的優(yōu)雅停機、連接池關閉全都不執(zhí)行。這個坑在開發(fā)環(huán)境看不出來上了 Linux 跑久了才會發(fā)現(xiàn)每次重啟都丟在途請求。時區(qū)參數(shù)-Duser.timezoneAsia/Shanghai是我必加的。alpine 鏡像默認 UTC容器里new Date()出來的時間比北京時間少 8 小時日志時間戳全是錯的排查問題時能把人繞暈。alpine 里沒裝 tzdata所以配TZ環(huán)境變量沒用直接給 JVM 傳時區(qū)最省事。2.3 docker build 后面那個點以及鏡像命名和緩存構建命令在 PowerShell 里執(zhí)行先cd到含Dockerfile的項目根目錄# -t 指定鏡像名和標簽最后那個點代表當前目錄作為構建上下文 docker build -t demo-app:1.0.0 .那個.是最容易被忽略又最容易出事的地方。它把當前目錄整個打包發(fā)給 Docker daemontarget里幾百兆的 jar、.git目錄、node_modules都會被送進去構建慢得像卡住。常見做法是在項目根目錄放一個.dockerignore.git .idea *.iml target/*.original logs/注意別把target/整個排除掉jar 就在里面COPY會直接失敗。-t demo-app:1.0.0的命名建議固定成“項目名:版本號”后面在 Linux 上docker save、docker load、docker run全程用這個名字版本號跟著pom.xml走。見過有人用docker build -t app .結果本地攢了七八個同名不同內容的app:latest出問題時根本分不清跑的是哪個包這就是自找的。緩存問題也得提一句。COPY target/xxx.jar app.jar這一行只要 jar 內容變了緩存就失效后面的層全部重建這是正常的。但如果改完代碼忘了mvn packageCOPY拿到的還是舊 jar構建依然“成功”容器里的代碼卻是老的排查半天以為是環(huán)境問題。我一般把打包和構建串成一條命令mvn clean package -DskipTests; if ($?) { docker build -t demo-app:1.0.0 . }if ($?)是 PowerShell 里判斷上一條命令是否成功打包失敗就不構建省得拿著舊包騙自己。2.4 起容器、看日志、確認端口映射# -d 后臺運行-p 宿主機端口:容器端口--name 給容器起個固定名字 docker run -d -p 8080:8080 --name demo-app demo-app:1.0.0 # 看容器是否還活著STATUS 里出現(xiàn) Up 才算數(shù) docker ps # 跟蹤日志出問題第一眼看這里 docker logs -f demo-app-p 8080:8080左邊是 Windows 宿主機端口右邊是容器內端口右邊必須和 Dockerfile 里EXPOSE以及 SpringBoot 的server.port一致。左邊被占用是最常見的啟動失敗原因比如本機已經跑了一個 Tomcat 或者另一個 SpringBootdocker run會直接報port is already allocated改左邊的端口就行比如-p 8081:8080。docker logs是這套環(huán)境的黑匣子。SpringBoot 啟動失敗都會在日志里留下痕跡UnknownHostException指向數(shù)據(jù)庫地址解析不了Access denied for user指向賬號密碼或授權范圍不對Communications link failure指向網絡不通。容器剛起來就退出的時候docker ps看不到它得用docker ps -a找再docker logs看退出原因。瀏覽器訪問http://localhost:8080能出頁面說明 Dockerfile、構建、端口映射這三段路是通的。但頁面能出來不代表業(yè)務能跑只要涉及數(shù)據(jù)庫查詢下一步就得處理容器怎么連到 MySQL。3. 容器網絡與中間件dev_net、MySQL 8.0.24 和 Redis 怎么串起來Windows 上跑容器訪問本機數(shù)據(jù)庫是這套流程里最容易“看起來通了其實沒通”的一段。原文里試過--nethost也試過先 ping 再改配置我把順序重新理一遍順手把 MySQL 和 Redis 也容器化。3.1 默認 bridge 解析不了容器名dev_net 才行Docker 容器默認掛在bridge網絡上這個默認網絡只有 IP 轉發(fā)沒有內嵌 DNS容器之間用容器名互相訪問會直接報UnknownHostException。自己docker network create出來的用戶自定義網絡才帶 DNS 解析容器名可以直接當主機名用。# 創(chuàng)建一個自定義橋接網絡后面的應用、MySQL、Redis 都接進來 docker network create dev_net # 看網絡列表確認 dev_net 在里面 docker network ls接入用docker network connect容器跑起來之后也能接不用重建docker network connect dev_net mysqldoc docker network connect dev_net redis docker network connect dev_net demo-app應用容器這一步經常被漏掉。MySQL 和 Redis 都連上dev_net了應用還在默認bridge上照樣解析不了mysqldoc。三條connect一條都不能少接了之后用docker inspect驗一下# 只取容器在 dev_net 里的 IP有輸出說明接上了 docker inspect -f {{range $k, $v : .NetworkSettings.Networks}}{{$k}} {{$v.IPAddress}}{{end}} demo-app3.2 從容器里 ping 和 telnet 3306先判斷再改配置連不上數(shù)據(jù)庫時別急著改 yml先在容器里做兩步診斷。原始做法是從應用容器 ping 數(shù)據(jù)庫容器或 IP再 telnet 3306 端口。# 容器內 ping 數(shù)據(jù)庫容器名驗證 DNS 解析和二層連通 docker exec -it demo-app ping mysqldoc # 容器內 telnet 數(shù)據(jù)庫端口驗證 TCP 層通不通 docker exec -it demo-app telnet mysqldoc 3306這里有個現(xiàn)實問題openjdk:8-jdk-alpine鏡像里既沒有ping也沒有telnet直接執(zhí)行會報not found。常見做法是臨時進容器裝一個 busybox 擴展或者反過來從 MySQL 容器往應用容器 ping因為mysql:8.0.24鏡像里通常有ping。更省事的做法是# 用自帶 bash 的容器做網絡探測把它接到同一個網絡里 docker run --rm --net dev_net busybox ping -c 2 mysqldoc--rm表示跑完即刪不留垃圾容器--net dev_net讓它和業(yè)務容器在同一個網絡里這樣測出來的結果才有參考價值。ping 通只說明網絡層沒問題3306 還得單獨驗端口沒監(jiān)聽或者 MySQL 沒起來ping 是通但 telnet 不通的。3.3 MySQL 8.0.24 容器化四個掛載目錄和 3307 端口Windows 上先建掛載目錄PowerShell 里一條mkdir可以帶多個路徑mkdir D:\development_sources\docker\mysql\log,D:\development_sources\docker\mysql\data,D:\development_sources\docker\mysql\conf,D:\development_sources\docker\mysql\mysql-files然后跑容器參數(shù)一個一個擺開docker run -p 3307:3306 --restartalways --name mysqldoc -v D:\development_sources\docker\mysql\log:/var/log/mysql -v D:\development_sources\docker\mysql\data:/var/lib/mysql -v D:\development_sources\docker\mysql\conf:/etc/mysql -v D:\development_sources\docker\mysql\mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORDroot -d mysql:8.0.24PowerShell 里的續(xù)行符是反引號別抄成 Linux 的反斜杠\抄錯了命令會被拆成幾條執(zhí)行報一堆莫名其妙的錯。參數(shù)作用取舍說明-p 3307:3306宿主機 3307 映射容器 3306本機已有 MySQL 占了 3306開發(fā)機這樣錯開最省事--restartalways容器異常退出或 Docker 重啟后自動拉起開發(fā)機也建議加省得每次開機手動 start--name mysqldoc固定容器名后面容器名要寫進 yml名字不能亂改-v .../log:/var/log/mysql日志落宿主機出問題直接在 Windows 上看日志文件-v .../data:/var/lib/mysql數(shù)據(jù)文件落宿主機容器刪了數(shù)據(jù)還在這條是命根子-v .../conf:/etc/mysql配置文件掛進去想改my.cnf不用進容器-v .../mysql-files:/var/lib/mysql-files導入導出目錄LOAD DATA之類操作要用-e MYSQL_ROOT_PASSWORDrootroot 初始密碼只在數(shù)據(jù)目錄為空、首次初始化時生效最后一條特別容易誤解MYSQL_ROOT_PASSWORD只在/var/lib/mysql為空、容器執(zhí)行初始化時讀取。掛載目錄里已經有數(shù)據(jù)了改這個環(huán)境變量密碼不會變得進容器用ALTER USER改。容器起來后用數(shù)據(jù)庫客戶端連127.0.0.1:3307驗證注意端口是 3307 不是 3306。業(yè)務賬號別直接用 root在容器里建一個限定來源的賬號# 進入容器內的 mysql 客戶端 docker exec -it mysqldoc mysql -uroot -p-- 應用賬號只允許從任意容器來源連接密碼自己換掉 CREATE USER app_user% IDENTIFIED BY App123456; GRANT ALL PRIVILEGES ON app_db.* TO app_user%; FLUSH PRIVILEGES; -- 如果只允許某個固定 IP 來源把 % 換成具體地址 -- CREATE USER app_user192.168.0.27 IDENTIFIED BY App123456;MySQL 8 的默認認證插件是caching_sha2_password老的 JDBC 驅動連它會報Public Key Retrieval is not allowed所以后面 JDBC URL 里要帶allowPublicKeyRetrievaltrue或者把賬號改成mysql_native_password。這兩條路選一條別兩邊都改完再互相干擾。3.4 Redis 容器6380 端口、AOF 和密碼Redis 的部署結構簡單得多一個數(shù)據(jù)目錄就夠mkdir D:\development_sources\docker\redis\data docker run -p 6380:6379 --restartalways --name redis -v D:\development_sources\docker\redis\data:/data -d redis redis-server --appendonly yes --requirepass redis-p 6380:6379同樣是為了避開宿主機已經占用的 6379。--appendonly yes打開 AOF 持久化每條寫命令追加到文件容器重啟后數(shù)據(jù)能重建不打開的話重啟即清空開發(fā)環(huán)境丟點緩存無所謂但如果拿 Redis 存了業(yè)務狀態(tài)就會出事。--requirepass redis設密碼最后這幾個參數(shù)是傳給redis-server的命令行參數(shù)順序必須在鏡像名之后寫到鏡像名前面會被 Docker 當成自己的參數(shù)而報錯。容器起來后docker network connect dev_net redis接進同一個網絡再用 Redis 桌面客戶端連127.0.0.1:6380密碼填redis能PING出PONG就算通了。3.5 yml 里寫容器名還是 IP以及 --nethost 在 Windows 上的局限網絡通了之后改 SpringBoot 的配置文件host直接寫容器名spring: datasource: url: jdbc:mysql://mysqldoc:3306/app_db?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/ShanghaiuseSSLfalseallowPublicKeyRetrievaltrue username: app_user password: App123456 redis: host: redis port: 6379 password: redis兩個端口別寫錯容器內 MySQL 永遠是 3306Redis 永遠是 63793307和6380只是宿主機映射出去給 Windows 上的客戶端用的。在 yml 里寫成 3307容器之間是連不上的這個錯我見過不止一次。serverTimezoneAsia/Shanghai和前面 JVM 的時區(qū)參數(shù)是一套的兩邊都不寫插入的時間字段就會差 8 小時。useSSLfalse在開發(fā)環(huán)境關掉省事生產環(huán)境該開還得開。至于--nethost原文試過之后評價“意義不大”我補一下原因Windows 上的 Docker Desktop 跑在一層輕量虛擬機里--nethost共享的是那臺虛擬機的網絡棧不是 Windows 宿主機本身所以想靠它連 Windows 上的 MySQL大概率還是不通。Linux 上--nethost是真共享宿主機網絡行為完全不同??缙脚_部署時這個差異足夠讓人懷疑人生所以我的做法是統(tǒng)一走dev_net加容器名Windows 和 Linux 行為一致遷移的時候不用改配置。4. 避坑與排查容器起不來、連不上庫的五個現(xiàn)場下面五條都是我自己踩過或者幫別人收拾過的現(xiàn)場按“現(xiàn)象 → 原因 → 解決”記。4.1 構建和啟動階段的三條第一條容器啟動幾秒就 Exiteddocker ps里看不到?,F(xiàn)象docker run回車后返回一串容器 IDdocker ps空空如也docker ps -a能看到狀態(tài)是Exited (1)。原因九成是 jar 路徑不對或者 jar 本身沒打出來。COPY在構建階段就會失敗但如果是ENTRYPOINT里的路徑寫錯構建能過運行時 java 找不到 jar 直接退出。解決先docker logs 容器名看最后幾行典型報錯是Error: Unable to access jarfile /app/app.jar?;氐巾椖坷飈s target/*.jar確認文件名再核對COPY的目標名和ENTRYPOINT里的是否一致順便確認mvn package真的執(zhí)行過別拿著空target目錄構建。第二條改了代碼鏡像重建了容器里跑的還是老邏輯?,F(xiàn)象接口返回的字段和本地代碼對不上日志里的時間戳也停在幾小時前。原因docker build用了緩存或者更常見的是打包那步漏了COPY復制進去的就是舊 jar。Docker 只按文件內容算哈希內容沒變就復用緩存層它不會知道你改的是src里的 java 文件。解決養(yǎng)成mvn clean package再docker build的固定順序懷疑緩存問題時加--no-cachedocker build --no-cache -t demo-app:1.0.0 .--no-cache會把所有層重建慢但干凈。另外docker run前先docker rm -f demo-app刪舊容器不然--name沖突會直接報錯有人以為報錯就是構建失敗其實只是名字被占了。第三條docker run報端口已被占用?,F(xiàn)象Bind for 0.0.0.0:8080 failed: port is already allocated。原因宿主機 8080 已經被別的進程或容器占著Windows 上常見的是另一份 SpringBoot 在 IDEA 里跑著沒關或者上次的容器沒刪干凈。解決netstat -ano | findstr :8080找到占用進程該關的關掉不想關就換映射端口-p 8081:8080容器內還是 8080對外訪問改成 8081 即可。別去改 Dockerfile 里的EXPOSE那是元數(shù)據(jù)改了也解決不了沖突。4.2 連庫和遷移階段的兩條第四條容器里訪問數(shù)據(jù)庫報UnknownHostException: mysqldoc?,F(xiàn)象應用啟動日志里拋java.net.UnknownHostException或者Communications link failure但用數(shù)據(jù)庫客戶端從 Windows 連127.0.0.1:3307是好的。原因應用容器和 MySQL 容器不在同一個用戶自定義網絡上默認bridge沒有 DNS 解析容器名根本不是一個能解析的主機名。解決確認三方都接進了dev_netdocker network inspect dev_net看Containers里是不是三個容器都在。少哪個就docker network connect dev_net 名字補上然后重啟應用容器讓 SpringBoot 重新解析。還有一種情況是 yml 里寫了容器的 IP容器重建后 IP 變了所以寫容器名、不寫 IP。第五條數(shù)據(jù)庫容器升級或者換機器后數(shù)據(jù)“沒了”?,F(xiàn)象在 Windows 上跑得好好的庫換到 Linux 上重新docker run之后表全空只剩一個空庫。原因-v掛的是宿主機目錄換機器等于換了一個空目錄MySQL 發(fā)現(xiàn)/var/lib/mysql為空就重新初始化。容器本身不會隨鏡像帶走數(shù)據(jù)這點和鏡像完全兩回事。解決遷移前先mysqldump導出 SQL在新機器上起容器、建庫、導數(shù)據(jù)不要指望把 Windows 的數(shù)據(jù)目錄直接拷到 Linux 上能用——目錄里的文件屬主是容器內的 mysql 用戶uid 通常是 999Linux 上權限對不上容器會起不來日志里一堆Permission denied。如果非要拷目錄得在新機器上chown -R 999:999對齊 uid還得處理 SELinux 上下文不如導出導入干凈。5. 遷移到 Linuxdocker save 打包 CentOS 7 裝 docker-ce-18.03.1.ceWindows 那邊驗證通過了接下來的活是把鏡像搬到 Linux。核心就三件事docker save出 tar、目標機裝 Docker、docker load回來重跑。5.1 docker save 三個 tar應用、MySQL、Redis鏡像必須一個一個存docker save一條命令只打包一個鏡像新版本可以帶多個鏡像名但老版本不行別賭# -o 指定輸出文件后面跟鏡像名:標簽 docker save -o demo-app.tar demo-app:1.0.0 docker save -o mysqlimage.tar mysql:8.0.24 docker save -o myredisimage.tar redis三個 tar 都要存因為 Linux 上的 Docker 不保證能拉到完全一樣的鏡像尤其是沒有外網或者鏡像站抽風的時候。文件大小心里要有數(shù)MySQL 8.0.24 的鏡像 tar 通常幾百兆應用鏡像看依賴幾十兆到幾百兆。三個加起來超過 1G 很正常傳輸前先看目標盤的剩余空間。鏡像名和標簽要和 Linux 上docker run用的完全一致save的時候寫mysql:8.0.24load回來就還是mysql:8.0.24寫mysql不帶標簽load 回來就是mysql:latest后面啟動腳本里的標簽對不上容器起不來。這個細節(jié)我吃過虧現(xiàn)在 save 之前都先docker images抄一遍完整名字。還有一個跨架構的注意點Windows 上的 Docker Desktop 默認拉的是linux/amd64架構的鏡像和 x86_64 的 CentOS 7 一致正常不會出問題。如果構建機是 ARM 架構就得在docker build時顯式指定--platform linux/amd64否則 load 到 Linux 上會報no matching manifest或者容器起來直接exec format error。5.2 CentOS 7 上裝 docker-ce-18.03.1.ce源、依賴、啟動Linux 側先確認版本內核 3.10 的 CentOS 7 是這套組合里最常見的底子uname -r # 3.10.0-1062.56.1.el7.x86_64遠程連接工具隨便挑一個順手的 SSH 客戶端輸入 IP、端口、賬號密碼連上命令行和文件管理都在一個界面里后面?zhèn)?tar 包方便。開發(fā)環(huán)境為了省事經常直接關防火墻生產環(huán)境千萬別這么干# 關閉防火墻并禁用開機自啟僅限內網開發(fā)環(huán)境 systemctl stop firewalld systemctl disable firewalld裝 Docker 之前先把舊版本清干凈CentOS 7 上有些老包會互相干擾# 卸載可能存在的舊版本沒裝過會提示 nothing to do正常 yum remove docker docker-common docker-selinux docker-engine # yum-utils 提供 yum-config-manager另外兩個是存儲驅動依賴 yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加 docker-ce 的 yum 源地址換成你環(huán)境能訪問的鏡像站 yum-config-manager --add-repo http://你的鏡像站地址/docker-ce/linux/centos/docker-ce.repo # 列出可安裝版本從高到低排序 yum list docker-ce --showduplicates | sort -r # 安裝指定版本這是我們這套環(huán)境驗證過的版本 yum -y install docker-ce-18.03.1.ce版本這里要留意 yum 包名的完整形式實際的包名通常是docker-ce-18.03.1.ce-1.el7.centosyum install docker-ce-18.03.1.ce能匹配到就可以匹配不到就用yum list輸出里的全名。18.03 這個版本比較老好處是和舊內核、舊鏡像兼容性好壞處是有些新鏡像的 manifest 格式它不認。如果docker load時報格式相關的錯不要硬扛記下報錯信息確認鏡像能在更新的 Docker 上 load 成功再決定要不要升版本。裝完啟動并設開機自啟systemctl start docker systemctl enable docker # 確認版本Client 和 Server 兩段都要有輸出 docker versionCentOS 7 上默認存儲驅動可能是devicemapper性能和穩(wěn)定性都不如overlay2。內核 3.10 是支持 overlay2 的建議顯式寫進配置{ storage-driver: overlay2, log-driver: json-file, log-opts: { max-size: 100m, max-file: 3 } }把這段寫進/etc/docker/daemon.json然后systemctl restart docker。日志限制那兩行是后悔藥不加的話容器日志會把磁盤寫滿等到no space left on device的時候服務已經掛了。改完存儲驅動如果起不來先docker info | grep -i storage看實際生效的驅動必要時把/var/lib/docker清空重來——前提是沒有重要鏡像所以這一步要在 load 之前做。5.3 上傳 tar 包、load 鏡像、按 Linux 的路徑重跑容器用 SSH 客戶端的文件管理把三個 tar 傳到 Linux 的自定義目錄比如/opt/loadimages然后逐個加載cd /opt/loadimages # -i 指定輸入文件執(zhí)行完 docker images 能看到鏡像 docker load -i demo-app.tar docker load -i mysqlimage.tar docker load -i myredisimage.tar # 確認三個鏡像都在標簽對得上 docker imagesdocker load可能輸出Loaded image: demo-app:1.0.0也可能只輸出層 ID 的進度最后以docker images的結果為準。容器要按 Linux 的路徑重跑不能照抄 Windows 的D:\...。先建目錄mkdir -p /data/docker/mysql/{log,data,conf,mysql-files} mkdir -p /data/docker/redis/dataMySQL 和 Redis 的啟動命令除了掛載路徑其余參數(shù)和 Windows 上保持一致docker network create dev_net docker run -p 3307:3306 --restartalways --name mysqldoc \ -v /data/docker/mysql/log:/var/log/mysql \ -v /data/docker/mysql/data:/var/lib/mysql \ -v /data/docker/mysql/conf:/etc/mysql \ -v /data/docker/mysql/mysql-files:/var/lib/mysql-files \ -e MYSQL_ROOT_PASSWORDroot \ -d mysql:8.0.24 docker run -p 6380:6379 --restartalways --name redis \ -v /data/docker/redis/data:/data \ -d redis redis-server --appendonly yes --requirepass redis docker run -d -p 8080:8080 --name demo-app demo-app:1.0.0 docker network connect dev_net mysqldoc docker network connect dev_net redis docker network connect dev_net demo-app順序上先把中間件起好再起應用不然應用啟動時連不上數(shù)據(jù)庫SpringBoot 可能直接啟動失敗。數(shù)據(jù)從 Windows 遷過來的話用mysqldump導出的 SQL 在新容器里source一遍別直接拷數(shù)據(jù)目錄。5.4 SELinux 和目錄權限CentOS 上特有的兩個坑CentOS 7 默認開著 SELinux-v掛載宿主機目錄時容器進程可能沒有寫權限表現(xiàn)是 MySQL 容器啟動失敗日志里Cant create/write to file或者Permission denied。開發(fā)環(huán)境圖省事可以臨時關掉# 查看當前狀態(tài)Enforcing 表示開著 getenforce # 臨時切成寬松模式重啟后恢復 setenforce 0更規(guī)范的做法是在掛載參數(shù)后面加:z或:Z讓 Docker 自動打上 SELinux 標簽比如-v /data/docker/mysql/data:/var/lib/mysql:z。兩種做法選一種別同時上否則排查時根本分不清是哪個改動起的作用。權限本身也要看一眼/data/docker/mysql/data如果被 root 提前占成 700容器內的 mysql 用戶寫不進去同樣起不來。chown -R 999:999 /data/docker/mysql/data把屬主對齊到容器內的 mysql uid這是mysql:8.0.24鏡像里的固定值。6. 驗收load 之后用三條命令確認容器真的在跑最后這步是我現(xiàn)在每次遷移必走的幾分鐘就能把“看起來起來了”和“真的能對外服務”區(qū)分開。第一步看容器狀態(tài)三個容器都得是Up重啟次數(shù)是 0docker ps --format table {{.Names}}\t{{.Status}}\t{{.Ports}}第二步驗端口和服務。從 Linux 本機curl應用首頁curl不通就先看容器日志別急著改配置# 應用返回 200 或者一段 HTML 才算數(shù) curl -I http://127.0.0.1:8080 # 日志只取最后 50 行重點找 Started Application 和異常堆棧 docker logs --tail 50 demo-app # 從應用容器反向驗證數(shù)據(jù)庫端口能連上會打印 Open 或空行后掛住 docker exec -it demo-app sh -c nc -zv mysqldoc 3306nc在 alpine 里通常可用不行就用ping加docker exec -it mysqldoc mysql -uroot -p -e select 1從數(shù)據(jù)庫側驗證。第三步是最容易被跳過、也最能暴露問題的一步跑一次真實的讀寫。打開一個涉及數(shù)據(jù)庫查詢的頁面或者調一個寫接口然后去數(shù)據(jù)庫里select一下確認數(shù)據(jù)落庫了再往 Redis 里寫一個 key用客戶端查出來。只驗證首頁能打開是不夠的首頁往往是靜態(tài)的連接池根本沒被觸發(fā)。驗證項命令或動作通過標準容器存活docker ps三個容器 Up重啟次數(shù) 0應用可達curl -I http://127.0.0.1:8080返回 200 或 3xx數(shù)據(jù)庫連通頁面觸發(fā)查詢返回數(shù)據(jù)無Connection refused數(shù)據(jù)落盤寫接口后查庫數(shù)據(jù)能查到容器重啟后還在Redis 連通寫 key 后用客戶端讀讀得到值PING返回PONG開機自啟重啟機器后docker ps三個容器自動起來那次在 CentOS 上 load 完鏡像、docker ps三個容器全是 Up、首頁也能打開我直接跟人說好了結果業(yè)務同事一點查詢就報錯——yml里還寫著 Windows 上那個127.0.0.1:3307容器里根本沒有這個地址。從那以后我每次遷移完都強制走一遍“容器狀態(tài) → 端口連通 → 真實讀寫”這套動作一步都不跳。希望這套流程能幫到你少在黑匣子日志里繞幾圈。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99九九在线视频| 日韩AV免费| 日韩免费乱轮网站| 欧美,日韩成人在线| 五月天婷婷视频小说| 99视频35精品视频在线观看| 婷婷视频在线碰| 99热综合色图| 色婷婷六月天在线| 操操操av| 综合色图区| 激情综合网五月激情| 丁香五月激情综合在线观看| 日韩欧美一级大黄网站| 欧美人人草草| 亚洲12p| 开心激情网五月| 色婷婷操逼| 岛国在线观看91| www.色婷婷.com| 丁香婷婷五月天亚洲| 久久色午夜在线导航| 色噜噜狠狠色综合日日| 丁香五月综合激情性爱| 亚洲成人噜噜| 中海油常州环保涂料有限公司| tingtingcaobi| 国产午夜精品一区二区| 综合激情深爱| 热99热9| 91九色国产在线| WW婷婷五月天com| 91AV婷婷| 丁香五月婷婷色情综合| 五月婷婷九| 99热这里只有精品23| 91疯狂操操操操| 久九男女天堂| 天堂二区| 1769在线观看欧美国产| www.99.色| 欧美成人A片AAA片在线播放 | 婷婷综合六| 亚洲中文字幕av| 五月丁香色色色| 91狠狠综合久久久久久| 色综合伊人网| www.夜夜| 六月丁香婷婷爱| 无码人妻丰满熟妇奶水区码| 日韩AV无码影片| 五月天另类激情在线| 六月丁香网| 天天舔日日肏夜夜爽| 狠狠色丁香久久| 99热综合在线观看| 激情啪啪五月天| 亚洲AV成人无码精品| 大香蕉九九| 亚洲综合婷婷| 色婷婷在线视频| 五月天婷婷免费| 综合啪啪| 成片免费播放| 五月天久久婷| 婷婷成人在线| 天天色月| 精久久色| 久久玖玖综合| 国产超碰在线| 伊人狼人干| 久久综合婷婷激情| 婷婷五月丁香色播| 九月婷婷久久久| 丁香五月色色| ss99热| 五月情综合| 色综久久久| 五月丁香六月激情综合啪啪| 久久九九大香蕉电院| 深爱五月中文字幕| 伊人在线视频| 五月天成人综合| 超碰免费人人| 操操熟女| 五月天丁香网| www,av好吊操| 五月丁香香蕉| yw国产AV| 99热99美国在线观看| 在线观看亚洲视频影院| 色人五月婷婷| 久久婷婷五月综合| 成人做爰高潮A片免费视频| 无码激情AAAAA片-区区| 色99色| 久久婷婷综| 青草网在线观看| 日本美女天天日天天爽| 免费视频99| 人妻AV在线观看| 任你草| 玩熟女五十AV一二三区| 丁香五月婷综合| 亚洲XX网| 丁香五月六月欧美| 久草热在线视频| 欧美日本免费一道免费视频 | 国产婷婷五月天| 天天日日人| 这里只有精彩视| www.日本91| 97 A I色色| 99热色精品| 久久丁香婷婷色情综合| 深爱五月激情网| 99色免费视频| 婷婷五月花| 夜色综合网| 综合天天综合| 99综合自拍| 成人做爰A片免费看视频| 激情五月瑟瑟| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 午夜丁香| 天天肏高清在线| 婷婷五月色影视先锋| 人妻AV在线观看| 六月丁香婷婷开心综合基地| 人人干av| 香蕉婷婷| 婷婷伊人久久| 碰97久久| 亚洲综合五月| 丁香深五月婷婷| 性爱网久久| 欧美色色色色色色色| 激情啪啪五月| 中文字幕激情综合| 91人人爽久久涩噜噜噜| chaopengdaxiangjiao| 7777激情基地| AV色婷婷| 亚洲色图五月丁香| 色五月色图| 7777久久亚洲中文字幕| 婷婷伊人五月| 99热每日| 婷婷五月天成人综合网| 丁香五月玖玖| 婷婷成人五月天一区| 99精品久久| 五月婷婷综合影院| 啪啪婷婷五月天激情| 日本久久9| 玖玖福利视频资源| www.9色色色| 色婷婷色五月丁香| 九九热这里只有精品一| 91蜜桃婷婷狠狠久久综合9色| 91视频免费后入强操| 天天高潮夜夜爽| 又大又粗九一在线| 色丁香五月天婷婷| 99热国产婷婷| 日本精品99网站| 天堂中文国产| 日本欧美成人片AAAA| 综合色色网| 9久热在线视频精品| 色情婷| 成年人丁香五月| 久久青青日本视频| 亚洲最大在线| 婷婷六月色| 香蕉操亚洲| 九九热婷婷| 婷婷五月婷婷| 久久这里精彩免费在线观看| 亚洲色色色| 玖玖99福利| 这里只有精品视频| 停停五月丁香| 性爱网五月天| 色噜噜狠狠色综无码久久合欧美| 激情五月天色婷婷综合| 激情久久丁香| 五月激情综合网| 五月丁香婷婷综合| 亚洲小视频| 五月丁香 狠狠爱| 亚洲热视频在线| 熟美女麻豆| 伊人玖玖婷婷| 在线,国产,色,热视频| 九九热在线视频| 99色看| 精品自拍99| 深爱激情丁香五月| 深爱五月激情综合| 丁香视频| 色婷婷五月综合| 九九九午夜影院成人| 91黄色五月天视频| 日本人妻A片成人免费看片| 久久久人妻人伦| 最近中文字幕在线中文视频| 天天日天天摸| 丰满人妻妇伦又伦精品国产| 免费精品99| 9精品视频在线| 99色视频在线| 人人干人人看| 日日夜夜青青草| 免费观看高清无码| 色色五月天婷婷| 色导航色婷婷五月天在线观看| 五月丁香性爱| 人人干人人操外国| 久久久久人妻| 深夜男女福利刺激影院一区完整| 这里只有免费的精品| 无码橾| 开心激情婷婷| 国产亚洲在线| 久草热在线视频| 五月丁色AV| 五月天婷婷涩涩| 色婷婷色99国产综合精品| 婷婷五月偷拍| www.五月激情.com| 丁香婷婷大香蕉| 26uuu成人网| 国产成人99久久亚洲综合精品| 久青草影院| 婷婷六月丁香欧美视频在线| 丁香五月成人在线| 襙逼网| 18久久| 国产精品国产成人国产三级| 色婷婷小说| 亚洲六月色| 思思99精品视频在线观看| 日韩在线看AV| 无码免费人妻A片AAA毛片西瓜| 六月婷婷视频| 舔色婷婷| 精品人妻久久久久久| 婷婷的五月天另类视频| www.天天干.com| jiujiujiuwuyuetian| 日韩精品呦呦va| 色五月av| 99热这里只有精| 精品成人在线观看| 国产熟女一区二区三区五月婷| 激情婷婷五月基地| 秋霞三及片| 丁香五月婷婷呀| 91热手机在线| 久操干| 狠狠干狠狠操狠狠爱| 在线播放成人网站| 婷婷五月天av| 99热热热99精品婷婷| 亚洲精品色| AV在线免费播放| AV人人操| 人妻视频在线| 五月婷婷av| 久9久9热久热| 五月天狠狠| 国产精品涩涩涩视频网站| 色婷婷久久| 色婷婷在线播放| 亚洲 视频 导航 一区| 色婷五月丁香久亚洲| 国产色丁香| 亚洲网站观看视频| 欧美色频| 五月婷婷综合久久| 色色色色网| 色五月综合激情| 99热碰碰热| 中文成人在线| 99久久网站| 婷婷六月天| 无码人妻少妇色欲AV一区二区| 五月开心网| 另类图片五月天| 久久久大香蕉| 成人无码髙潮喷水A片| 无码AV免费精品一区二区三区| 99色视频| 99热观看| 婷婷五月天成人五月天| 激情五月婷婷丁香综合网| 天天舔天天摸视频| 天天影院色| 一本大道熟女人妻中文字幕在线| 中文字幕激情综合| 五月丁香成人版| 五月婷婷开心丁香| 色5月婷婷| 色欲一区二区三区精品A片| 欧美怡红院黄站| 伊人超碰在线| 综合久久婷婷五月丁香| 国产精品久久7777777精品无码| 色噜噜五月天| 嫩草AV久久伊人妇女超级A| 97爱艹婷婷开心丁香激情综合| 变态 另类 在线| 丁香五月天堂网AV| www.狠狠狠.com| 日日夜夜爽| 99亚洲精美视频在线观看| 超级碰碰视频无码| 激情五月天综合网站网站网站| 丁香五月亚洲无码| 色无码| 丁香五月六月| 成人在线视频一区| 五月婷婷综合色拍| 丁香五月激情综合| 丁香五月 无码| 亚洲区,视频区,视频区免费| 99性视频| 99精品偷自拍| 色婷婷手机在线| 思思热久热| 99无码精品| Av在线不卡一区| 6月丁香婷婷| 婷婷五月丁香五月天| 五月丁香综合影院| 啪啪日热| 色婷激情网| 91碰碰| 琪琪色影音先锋| 激情亚洲婷婷六月| 好吊丝aV| 天天干狠狠| 五月婷婷|欧美| 亚洲欧美国产高清vA在线播放| 99ri视频| 五月六月丁香婷婷在线观看| 天天做天天爱天天高潮| 丁香五月天无码AV| www.五月丁香| 色五月首页| 五月色丁香| 丁香五月九九| 丝袜激情网| 蜜乳人妻一区二区三区| 久久99热这里只有精品| 黄久久久| 九九热中文| 亚洲欧洲午夜成人精品av| www、色色色| 婷婷五月天亚洲综合网| 色婷婷丁香五月综合| 色婷婷丁香花五月天| 婷婷永久在线| 蒲京久久无码视频| 欧美狠狠色| 九伊人网| 大香蕉五月天| 爱爱色五月天| 狠狠CAO日日穞夜夜穞AV | 我爱va亚洲va52| 久久国产一区二区三区| 五月天综合图片| 五六月婷婷久久| 日韩精品二三区| 亚洲蜜乳AV| 丁香五月婷婷六月丁香| 久久色区| 人妻丰满精品一区二区A片| 天天日综合网射| 被强行糟蹋的女人A片| 婷婷深爱五月天在线| 午夜69成人做爰视频| 亚洲五月天伊人| 一本婷婷丁香久久| 婷婷射丁香| 狠狠色噜噜狠狠色噜噜噜999| 91丨九色丨国产打屁股| www.五月瑟| 欧美操我| 99色色网| 少妇综合网| 五月丁香色色| 色婷婷8| 终合激情网| 九九av在线| 26uuu在线观看| 久久午夜理论| 操碰99| 欧美槡BBBB槡BBB少妇| 欧美VA在线观看| 亚洲碰碰碰| 中文字幕在线免费观看视频| 激情亚洲网| 九九九热精品| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 做爰丰满少妇1313| 五月激情在线| 玖玖九九99| 2013AV天堂| 婷婷五月天av| 狠狠干狠狠干| 婷婷日日天天| 噜噜色天天开心| 日本WwW色偷偷丁香花久久久京东热| 夜夜干夜夜操| 丁香五月亚洲无码| 婷婷五月天久久| 五月婷婷影视| 99视频自拍| 色丁香五月| 入口五月婷婷六月香| 九色成人AV在线| 丁香六月啪| 丁香五月婷婷色播艳门照| www.婷婷亚洲基地| 日本色色影院| 99色人| 色情婷婷五月天| 色综合色综合色综合色综合| 热热久久久久久久久| 成人电影AV在线观看| 色五月丁香91| 国产精品久久久久久久久久久久| 欧美日综合| 这里只有免费精品| 五月色导航| 另类专区在线观看| 人人九色| 久草五月天| 人人摸人人干| 激情网 久久| 婷婷深爱五月天| 新激情五月天天在线网| www,99热| 99免费| 激情五月婷婷综合视频| 色亚洲中文| 久久五月综合| 激情五月综合网| 激情图片婷婷| 久久99久久99精品免观看粉嫩| 91人无码久久久久久| 三级片AAA久久久AAA久久久AAA | 26uu| va婷婷在线免费观看| 噜综合| 激情综合五| 91九色欧美| 色色色色色色色色色色色色色五月天| 怡春院天天干| 五月丁香婷婷激情四射迷人| 久99精品视频| 99久久www| 538任你爽视频不一样的| 亚洲 成人 电影av在线观看| 一本九九色| 婷婷久久爱| 五月婷婷很很色| 97在线观视频免费观看| 色狠狠色综合久久久绯色aⅴ影视| 五月丁香激情啪啪| 亚洲精品白浆高清久久久久久| 婷婷丁香六月| 中日韩美欧成人一区二区精品在线| 欧美色婷婷| 激情五月综合| 99视频免费播放| 教师性爱毛片| 婷婷丁香综合| www.久久久久| 深爱网深爱综合网| 岛国AV网| 夜夜夜夜夜操| A短视频免费在线观看| 97操碰人免费| 亚洲无码成人网| 超碰91人人操| 99久热这里有精品| 深爱五月婷| 久久久久久人妻| 丁香色成人| 啪啪综合网| 青柠影视免费高清电视剧| 春色激情| 婷婷伊人久久| 夜夜夜叫天天天做| 久久人妻精品| 97色色色| 久久婷婷五月激情综合| 亚洲视频a| 五月丁香激情欧洲啪啪| 任你操精品免费| 99热免费观看| 丁香婷婷久久综合在线| 成人色五月天婷婷| 婷婷丁香五月综合网上| 天天色宗合| 欧美五月停| 婷婷五月天久久综合88| AV美美午夜| 久久婷婷五月天蜜桃| 激情小说五月天社区丁香| 天天插天天干天天舔| 久热精品免费视频4| 色综合久久88| 午夜青草资源| 九九热av| 五月婷婷狠狠久久| 五月丁香啪啪激情| 五月婷婷天堂| 婷婷五月日本| 色人五月婷婷| 婷婷六月啪啪| 伊人大香久久| 婷婷五月欧美综合| 97在线碰| 99ri视频在线观看| 思思热性操| 五月丁香无码| 91久久九九| 就要去操亚洲成人精品五月天丁香婷婷| 激情五月少妇| 性一交一乱一交A片久| 丁香五月大香蕉AV| 婷婷十月丁香| 亚洲无AV在线中文字幕| 丁香五月婷婷深五月| 99精品大片| 成人无码髙潮喷水A片| 婷婷五月综合色拍| 久色欧美| www.金莲av| 亚洲色9| 九九热99熟女| 中文字幕无码成人电影| 日日爱699| 大地9中文在线观看免费高清| 欧美色图天堂网色| 五月丁香色| 婷婷综合五月激情| 香蕉久久国产AV一区二区| 超碰97免费在线| 欧美婷婷精品激情| 国产亚洲av片| 六月丁香婷婷综合在线| 激情网色五月| http://www.sd-xiangsu.com/| 婷婷97狠狠成人网站| 99小视频在线| 丁香五月激情五月| 99婷婷五月天| 色婷婷小说| 天天搞夜夜六| 国产人妻777人伦精品HD| 丁香久久| 色五月激情网| 婷五月天在线草| 五月丁香六月婷| 思思99热热热99| 激情五月影院| 日本www五月婷婷| 国产 码在线成人网站| 久久丁香五月综合六月激情红杏视频 | 69凹凸成人综合网| 五月天久久综合婷婷丁香| 香蕉网婷婷| 欧美性爱5月天天天看| 成人 在线观看国产| www.狠狠干| 亚州在线中文字幕| www.成人婷婷综合| 在线资源av-超碰中文在线-成人AV| 五月丁香影视| 91Chinese在线| 99热一区| 99热精这里只有精品| 婷婷99视频在线| 99热这里只有精品无码| 18久久| 午夜成人AV在线| 久热九九| 双性美人被调教到喷水A片| 秋霞电影理论| 99热资源在线| 久久五月丁香| 可似看的AV| 亚洲一区国产传媒| 亚洲va综合va国产va中文| 亚州日本欧州韩美高青高潮一| 天天综合网~91| 亚洲久久激情| 久久99这里只有精品| 9色91视频| 天天干夜夜谢| 久久久妻人人人| 五月丁香婷婷五月色| 99精品性爱| 丁香五月自拍| 亞洲自怕| 很很干天天干| 婷婷丁香五月高清| 91丨九色丨东北熟女| 最新高清无码专区| 丁香六月激情| 欧美丁香五月天| 国产日韩av片| 亚洲12p| 成人丁香色| 婷婷久久五月| 99热碰碰| 国产毛片操B| 亚洲最大在线| 开心五月天激情网站| 午夜成人AV在线| 伊人九热| 狠狠干狠狠干| 99视频在线播放大全| 国产欧美婷婷五月| AA久久| 操日本99| 色婷婷www| 人草人人| 五月色婷婷AV| 天天舔天天插天天爱| 大香久久伊人网| 大香蕉婷婷| 五月天激情四射网站| 五月丁香婷婷婷婷综合网| 色娸娸综合网| 色护士综合| 亚洲成av人影院| AV在线中文| 五月天婷婷视频| 色综合色综合色综合高潮| 中文字幕97超级碰| 99色在线免费观看视频| 五月丁香色停停啪啪啪| 99综合网| 五月综合激情网| 91色涩| 亚洲综合五月天婷婷| 日逼免费视频| 日日干日日s| 亚洲欧洲另类| 色婷婷久久久| 色色色婷婷五月天| 丁香密臀AV激情网| 99热999| 99视频日韩| 乱精品一区字幕二区| 色欲久久综合| 久久综合中文| www.久久综合| 五月丁香花激情综合网| 日本视频欧美观看免费| 免费成人中文字幕| 久久99日本精品视频免费观看| 婷婷丁香九色| 91碰免费视频| 亚洲视频在线网| 亚洲AV成人精品网站在线播放| 色五月激情五月| 白人荫道BBWBBB大荫道| 老师的粉嫩小又紧水又多A片视频| 狠狠狠狠狠干| 色爱综合网| 丁香激情网| 办公室少妇激情呻吟A片在线观看| 99热色精品| 色五月五月婷婷| www.激情| 激情内射人妻1区2区3区| 麻豆AV一区二区三区| 五月丁久久| 亚洲欧美成人在线观看| 久久99jiu9| 久久婷视频| 96丁香六月婷婷蜜桃综合久久| www.91久久| 婷婷久久欧美| 五月丁香色婷| 色五月婷婷一二| 99热在线精品播放| 激情99| wuyuedingxiang99| WWW五月天| 婷婷伊人五月| www.天天干| 亚洲精品99| 玖玖在线视频| 婷婷五月天综合久久日美女| www.婷婷,com| 婷婷五月丁香五月丁香| 五月天激情综合10p| 婷婷狠狠干| 久热综合| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 啪到高潮激情丁香五月| 婷婷97碰碰| 欧美色五月| 激情超碰网| 日韩精品999| 高清激情av在线观看| 婷婷情色激情| 这里只有精品2| 97超碰婷婷五月天| 99热在线资源| 另类图片 五月激情| 丁香五月香蕉| 亚洲va综合va国产va中文| 久久久潮喷-久久久九九-成人AV| 思思99久久| 丁香五月激情站| 色综合伊人网| 婷婷丁香综合| 这里只有免费精品| 夜夜撸夜夜骑| 九九久久高清| 人妻少妇色综合| 七七色综合| 丁香五月天导航| 六月婷婷久久大全| 久久久久婷婷| 日本久久人| 日韩AAA| 超碰97人人操| 婷婷桃色网| 亚洲国产色婷婷| 综合网亚洲| CHINESE熟女老女人HD视频| 狠狠色婷婷7777久综合| 五月社区婷婷激情| 国产无套精品一区二区| 免费成人中文字幕| 婷婷丁香五月激情中文字幕版| WWW99热| 天天操天天插天天射| 亚洲另类婷婷五月丁香在线播放| 激情五月天偷拍综合网| 五月天社区婷婷| 操操操www.com| 大香蕉中文| 丁香五月婷婷国产在线| 激情黄色五月天| 99爱视频在线观看| 亚洲午夜视频| 人妻久久久| 99碰碰碰| 亚洲婷婷成人五月天| 五月天色色网站| 超碰91av| 热99精品视频五月| 日韩黄色电影| 五月丁香婷婷AV| 色婷婷亚洲综合天堂| 五月色婷婷AV| 青草青草视频2免费观看| wWwCom夜操wwW| 91狠狠色| 日韩啪啪视频| 99日本黄站| 超碰在线免费9| 婷婷激情综合色五月久久91| 开心五月色婷| 午夜不卡久久精品无码免费| 丁香六月中文| 日本欧美成人片AAAA| 综合丁香婷婷五月天| 久热大香蕉| 99在线播放视频| 中文字幕,综合,91| 91久久久久久久91| 超碰在线9| 九九99九九99偷拍视频免费看| 五月丁香婷草| www.久久久.com| 久操人妻| 99综合色色色| 亚洲精品久久久久久久久久吃药| 综合激情网| 久草热8精品视频在线观看| 色综合久久伊伊婷婷五月| 国精产品一区一区三区免费视频| 全国最新疫情| 丁香操逼| 91九色中文| 色99日韩| 99爱在线视频| 天天舔天天摸天天透| 一区=区操屄高清大全av| 天天日本夜夜谢| 猫咪伊人久久| 色综合天天| 丁香五月婷婷精品视频| 色婷婷狠狠18yy| 久热免费| 啪啪啪大香蕉| 国产成人精品一区二三区熟女在线 | 九九久久综合| 亚洲色五月天是什么| 婷婷丁香九色| 五月婷在线| 99久久免费性爱视频`| 免费无码毛片一区二区A片| 99er视频在线| 97人人做| 99re6在线视频精品免费| 丁香丝袜五月| 狠狠狠狠狠狠色| 五月大香蕉| 色综合色综合色综合| 日本啪啪网| 强壮公让我夜夜高潮A片视频| 日韩av网址大全| 丁香五月婷婷激情四射| 激情久久久| 久久视频这里99| 超碰在线国产| 狠狠肏综合网| 99精品高潮| 国产精品99久久久久久久女警| 九九在线这里只有精品视频| 中文字幕综合网| 五月天大香蕉av| 欧美色久| 五月婷婷精品无在线| 综合大香蕉| 伊人网色婷婷五月天| 日本一毛片| 呦呦视频无码播放| 亚洲综合网 665566| 五月天社区婷婷| 婷婷永久在线| 狠狠干综合网| 激情五月激情综合网一级丸片| 九九久久污| 专区无日本视频高清8| 婷婷亚洲综合| 色播丁香婷婷五月激情| 五月丁香综合啪啪| 色噜久| 国产精产国品一二三在观看| 92久久| 婷婷综合精品视频97| WWW,激情五月天,COM| 色婷婷啪啪| 少妇高潮呻吟A片免费看软件| 99在线视频精品| 天天夜夜爽| 精品婷婷五月天| 91久久久久久久久| 无码色综合| av中文字幕免费观看| 五月婷婷六月丁香| 日韩精品一区二区亚洲AV观看| 欧美日本一区二区三区| 涩综合在线| 九色自拍| 激情综合国产| 六月婷婷网| 五月天五月天成人网亭亭成人色网站| 激情另类综合| 久久伊人婷婷| 日本九九视频| 色婷婷综合电影| 天堂二区| 婷婷五月五月丁香| 国产精品天天狠天天看| 激情婷婷丁香| 91超级碰碰碰| 九九在线精点品| 婷婷天堂综合| 中文字幕在线日亚洲9| 丁XX 成人| 色99色| 天天色天天日天天舔| 九九热视频精品| 色丁香影院| 婷婷五月花西瓜| 五月天婷婷青青草| 中文不卡一二区| 操一操插一插| 成人综合伍月天| 婷婷五月天香蕉| 狠狠搞亚洲| 亚洲六月色| 婷婷五月丁香在线视频| 亚洲最大激情无码| 99热这里只有精品8| 天天透天天爱| 天天日天天爽| 亚洲不卡| 99热97| 婷婷五月丁香五月| 成熟妇人A片免费看网站| 99网| 97伦乱| 俺去婷婷 丁香| 婷婷丁香91| 伊人网碰碰| 五月婷婷免费在线| 99久久极情精品一区| 可以免费观看的AV| 国产又爽又猛又粗的视频A片| 成人做爰黄A片免费看直播室男男| 综合aV在线| 久久99精品久| 大香蕉久热| 在线观看五月婷婷网| 五月天开心成人网| www久热com| 日本五月天网站| 亚洲成人影视在线观看| 色噜噜狠狠色综无码久久合欧美| 中文字幕丰满孑伦无码专区| 婷婷亚洲在线| 久久久久激情网| 日本妈妈乱| 99久久99热这里只有精品| 色在线视频网2025| 91久久久久久久久| 夜夜爽77777妓女免费下载| 五月丁香婷婷激情图片| 久久五月天色婷婷| 色色色色色级无码| 99热这里只有精品 搜| 色色热| 丁香婷婷久久 | 成人做爰A片免费看网站找不到了 国产露脸150部国语对白 | 99爱在线视频观看| 色色色婷婷五月天| 少妇高潮呻吟A片免费看软件| 狠狠 久久| 久久伊人大香蕉| 另类综合国产| 亚洲不卡| 教师性爱毛片| 91九色首页| 日日夜夜爽爽| 日韩欧美一级大黄网站| 久久五月天激情| 99网址在线看| 狠狠色 综合色区| 久久网日本| 99超碰欧美| 丁香九月婷| 国语精品探花| 超碰免费人妻| 99re26视频| AV在线中文| 久久成人亚洲欧美电影| 依人大香蕉| 激情欧美丁香五月| 91久热| 99热费观看| 五月天婷婷永久免费视频| 五月色网| yiqicaoav| 丁香5月综合啪啪| 91久久精品无码一区二区三区| 国产,欧美,学生妹,视频| 婷婷五月情| 人妻久久久久久久| 99人妻碰碰久久久禁片| 9999久久久久| 这里只有精品无码| 伊人五月婷| 色狠狠激情五月| 超碰二区| 婷婷综合九月| 天天日夜夜爽。| 久久久久久久人妻| 九月婷婷久久| 天天干,夜夜爽| 超碰免费人人肏| 五月综亚洲| 亚洲午夜av| 丁香五月中文字幕| 色综合天天| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 亚洲五月婷婷| 中文字幕av在线| www.久9| 五月丁香婷婷伊人| 日日做A爰片久久毛片A片英语| 婷婷九月激情| 色情五月婷| 色九九七七| 狠狠色狠狠操| 久久女人九九| 综合九九| 青青久久91| 狠狠干五月丁香综合网| 99干免费视频| 激情综合色五月丁香六月亚洲| 人人操AV| 深爱婷婷色| 亚洲国产精品VA在线看黑人| 99热6这里只有精品6| 五月婷婷激情| 婷婷激情五月天网站| 天天射影院| www.婷婷网| 五月婷婷六月天| 狠狠人人| 中文字幕免费高清电视剧| 成人欧美一区二区三区在线观看 | oVV4WIB3vFi8D| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 九九精品在线网| 国产一级黄色影片,| 天天天摸夜夜夜玩| 97操碰免费视频| 色五月天成人| 98色花堂98t.R| 一区二区三区视频| 天天想夜夜爽天天爽| 久久久五月天| 呦呦视频无码播放| 丁香五月伊人| 中文av网| 国产 亚洲 在线| 亚洲人妻AV| 五月丁香色婷| 97热超碰| 婷婷的久久网站| 色五月av| 丁香综合伊人AV| 一区二区你懂的| 天天综合色丁香| 亚州精品色情无码A片| 激情婷婷| 婷婷五点亚洲| 久久婷婷色综合| 久久九九国产精品怡红院| 日操五月婷| 五月丁香六月婷婷激情四射| 神马欧美精| www.主妇. com| 影音先锋 萱萱| 色婷久| wuyuedingxiang99| 日韩野外 无套| 日韩欧美成人片| 国产精品久久在线观看技巧| 超碰69天堂| 久久婷婷五月丁香网| 99高级会所久久| 色婷婷五月丁香色| AV在线资源| 五月丁香在线偷拍视频| 亚洲xx网| 在线观看国产高清视频免费网站 | 91性人人| 久久久18| 五月天最新网| 99精品热视频只有精品10| 97碰碰九九视频| 亚洲精品电影| 久热这里只有精品66| 欧美性久| 99ER热精品视频| 五月激情婷婷综合| 久久96热| 日韩啪啪网| 岛囯综合激情网| 开心激情网五月天| 色五月影视| 婷婷五月亚洲激情| 密视AV综合在线| 中字幕视频在线永久在线观看免费| 婷婷天天色| 丁香五月第九色| 色婷婷久久天天性爱| 丁香婷婷五色月| 大香蕉婷婷五月| 婷婷五月成人社区| 97干在线| 丁香五月手机在线| 五月丁香婷庭在线| 最新日本A片| 色婷婷五月天偷拍| 久久综合五月天激情小说网站| 91热爆在线| www五月天com| 99爱最新免费视频在线观看| 91人人操人人| 怡红院成人AV| 色无婷婷| 公的粗大挺进了我的密道| 丁香五月区| 色狠狠婷婷| 激情婷婷六月| 五月丁香少妇A| 婷婷综合| av在线观看网站| 免费99色| 国成人网| 婷婷色色亚洲| 国产精品VIDEOSSEX久久发布| 亚洲啪视频| 另类激情五月在线视频欧美| 国产精品久久7777777精品无码| 蜘蛛女免费观看完整版高清电影| 婷婷免费无马| 538任你爽视频不一样的| 五月久久丁香| 国产成人综合电影| 北京熟妇搡BBBB搡BBBB| 天天爱天天操| 激情五月天婷婷丁香| 色碰碰视频| 欧美三级欧美一级| 思思99久久| 丝袜激情网| 九九大香视频| 中文字幕av在线播放| 婷婷五月色惰| 五月婷婷激情| 26uuu欧美| 99热天堂| 黄网免费观看| 91婷婷在线| 97碰免费视频在线| 久久久97| 99热精品中文字幕| 婷婷五月天久久| 91超级碰| 被男人添B超爽视频| 国产精品18久久久| 午夜不卡久久精品无码免费| 九九九激情综合| 开心五月综合激情综合五月| 狠狠色情婷婷| 婷婷日日天天| 深爱激情网综合| 啪啪小说五月天| 天天爽天天| AV网站免费在线| 大香蕉九九| 色五月婷婷久久| 亚洲精品国产A久久久久久| 天天激情站| 超爽内射| www.maotanji.com| 91久热| 丁香狠狠| 99热在线观看这里只有精品| 亚洲va在线∨a天堂va欧美va| 婷婷五月天小说| 99热亚洲精品| 国精产品一区一区三区免费视频| 牛色色碰| 亚洲 欧洲 国产 伦综合| 色色影院黄大片| 激情综合婷婷| 免费无码毛片一区二区A片| 六月丁花香啪啪激情欧美| 久久久香港| 久久久999精品| 五月婷婷开心爱| 激情五月综合网最新| 久久最新色| 深爱激情五月天| www.色多多婷| 久久久久网站| 色五月婷婷激情综合网| 久久96热| 婷婷久久精品| 丁香五月婷婷啪啪| 久久99草五月婷婷| 免费观看亚洲AV片| 欧美五月丁香在线观看| 婷婷色色婷婷| 日韩一级片| 色九九一二| 激情五月深爱五月观看| 亚洲五月天婷婷综合| 日韩99视频| 国产偷人爽久久久久久老妇APP| WWW、日本色丁香、co m| 色婷视频| 四虎国产精品永久在线国在线| 丁香五月婷婷亚洲天堂| 婷婷五月激情四月综合| 久8色色| 97干在线视频| 999热这里只有美国精品| 婷婷丁香五另类网站| 久久99成人性爱高清视频| 人妻人人操| 伊人大香蕉毛片| 那里有AV网址| 99热97| 亚洲最大成人综合网720P| A在线观看| 亚洲色综合性| 五月婷婷影院| 日本3级片一区2区| 五月婷婷色情| 婷婷色综合| 色婷婷色五月综合| 狠狠 婷婷| www久久99| 五月色丁香婷婷综合| 日韩人妻无码一区二区| 123草逼网| 7777久久亚洲中文字幕| 五月丁香色色综合| 91se在线观看| 色色色色色九九九九九| 五月婷婷综合网在线播放| 久久久.COM| 久99久视频精选| 婷婷五月丁香五月天| 狠狠色丁香| 1024成人在线观看| 婷婷五月色網站| 中文字幕日产A片在线看| 亚洲无码另类| 久久九九国产精品怡红院| 91在线97视频| 五月天色官网| 91狠狠综合久久久| 色婷婷导航| 婷婷五月天亚洲综合| 婷婷五月日本| 五月天成人在线| 在线观看国产高清视频免费网站 | 伊人婷婷色| 九九色综合九九色| 一本色道久久综合狠狠躁一二三 | 丁香啪啪中文字幕| 五月婷婷之六月丁香| 99色婷婷| www.av视频xx999.com| AA丁香综合激情| 超碰色综合| 色综合九九色综合88| 亚洲婷婷五月| 丁香五月激情网| 色婷久| 99激情视频| 五月丁香久久综合色| 日日干天天爽| 亚洲色基地| 日日干日日| 国产精品美女| 91丨九色丨熟女| 九色PORNY自拍成人精彩视频| 色色色色色五月丁香| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 中国女人做爰A片| 天天日夜夜操五月| 伊人99久久|