欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

云計算核心技術(shù)Docker教程:Java鏡像在容器中運行數(shù)據(jù)庫

首先,我們將看看在容器中運行數(shù)據(jù)庫,以及我們?nèi)绾问褂镁砗途W(wǎng)絡(luò)來持久化我們的數(shù)據(jù)并允許我們的應(yīng)用程序與數(shù)據(jù)庫對話。然后我們將把所有東西放在一個 Compose 文件中,它允許我們用一個命令設(shè)置和運行本地開發(fā)環(huán)境。最后,我們將看看將調(diào)試器連接到我們在容器內(nèi)運行的應(yīng)用程序。

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的通道網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

無需下載 MySQL、安裝、配置,然后將 MySQL 數(shù)據(jù)庫作為服務(wù)運行,我們可以使用 MySQL 的 Docker 官方鏡像并在容器中運行它。

在容器中運行 MySQL 之前,我們將創(chuàng)建幾個卷,Docker 可以管理這些卷來存儲我們的持久數(shù)據(jù)和配置。讓我們使用 Docker 提供的托管卷功能,而不是使用綁定掛載。您可以在我們的文檔中閱讀有關(guān)使用卷的所有信息。

現(xiàn)在讓我們創(chuàng)建我們的卷。我們將為數(shù)據(jù)創(chuàng)建一個,為 MySQL 的配置創(chuàng)建一個。

$ docker volume create mysql_data

$ docker volume create mysql_config

現(xiàn)在我們將創(chuàng)建一個網(wǎng)絡(luò),我們的應(yīng)用程序和數(shù)據(jù)庫將使用該網(wǎng)絡(luò)相互通信。該網(wǎng)絡(luò)稱為用戶定義的橋接網(wǎng)絡(luò),它為我們提供了一個很好的 DNS 查找服務(wù),我們可以在創(chuàng)建連接字符串時使用它。

$ docker network create mysqlnet

現(xiàn)在,讓我們在容器中運行 MySQL 并附加到我們上面創(chuàng)建的卷和網(wǎng)絡(luò)。Docker 從 Hub 拉取鏡像并在本地運行。

$ docker run -it --rm -d -v mysql_data:/var/lib/mysql \\

-v mysql_config:/etc/mysql/conf.d \\

--network mysqlnet \\

--name mysqlserver \\

-e MYSQL_USER=petclinic -e MYSQL_PASSWORD=petclinic \\

-e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=petclinic \\

-p 3306:3306 mysql:8.0.23

好的,現(xiàn)在我們有一個正在運行的 MySQL,讓我們更新我們的 Dockerfile 以激活應(yīng)用程序中定義的 MySQL Spring 配置文件,并從內(nèi)存中的 H2 數(shù)據(jù)庫切換到我們剛剛創(chuàng)建的 MySQL 服務(wù)器。

我們只需要添加 MySQL 配置文件作為CMD定義的參數(shù)。

CMD [./mvnw, spring-boot:run, -Dspring-boot.run.profiles=mysql]

讓我們建立我們的形象

$ docker build --tag java-docker .

現(xiàn)在,讓我們運行我們的容器。這一次,我們需要設(shè)置MYSQL_URL環(huán)境變量,以便我們的應(yīng)用程序知道使用什么連接字符串來訪問數(shù)據(jù)庫。我們將使用該docker run命令執(zhí)行此操作。

$ docker run --rm -d \\

--name springboot-server \\

--network mysqlnet \\

-e MYSQL_URL=jdbc:mysql://mysqlserver/petclinic \\

-p 8080:8080 java-docker

讓我們測試一下我們的應(yīng)用程序是否已連接到數(shù)據(jù)庫并能夠列出 Veterinarians。

$ curl --request GET \\

--url http://localhost:8080/vets \\

--header \'content-type: application/json\'

您應(yīng)該會從我們的服務(wù)中收到以下 json。

{vetList:[{id:1,firstName:James,lastName:Carter,specialties:[],nrOfSpecialties:0,new:false},{id:2,firstName:Helen,lastName:Leary,specialties:[{id:1,name:radiology,new:false}],nrOfSpecialties:1,new:false},{id:3,firstName:Linda,lastName:Douglas,specialties:[{id:3,name:dentistry,new:false},{id:2,name:surgery,new:false}],nrOfSpecialties:2,new:false},{id:4,firstName:Rafael,lastName:Ortega,specialties:[{id:2,name:surgery,new:false}],nrOfSpecialties:1,new:false},{id:5,firstName:Henry,lastName:Stevens,specialties:[{id:1,name:radiology,new:false}],nrOfSpecialties:1,new:false},{id:6,firstName:Sharon,lastName:Jenkins,specialties:[],nrOfSpecialties:0,new:false}]}

網(wǎng)站名稱:云計算核心技術(shù)Docker教程:Java鏡像在容器中運行數(shù)據(jù)庫
分享鏈接:http://www.chinadenli.net/article44/cggche.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)頁設(shè)計公司外貿(mào)建站網(wǎng)站營銷GoogleApp開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)