Docker安裝Nginx并部署及MySQL容器構(gòu)建全過程
一.MySQL容器的構(gòu)建
1.創(chuàng)建MySQL根目錄及配置文件夾&data文件夾
mkdir -p mysql/{conf,data}2.上傳配置文件
將配置文件上傳到conf文件夾(數(shù)據(jù)庫配置文件已放到置頂資源中)
3.命令構(gòu)建MySQL容器
/soft/mysql/conf/my.cnf:/etc/my.cnf目錄為我們配置綁定的目錄
/soft/mysql/data:/var/lib/mysql 是將data目錄與MySQL目錄進(jìn)行綁定
docker run \ --name m1 \ -v /soft/mysql/conf/my.cnf:/etc/my.cnf \ -v /soft/mysql/data:/var/lib/mysql \ --privileged=true \ -e MYSQL_ROOT_PASSWORD=123456 \ --net mynet \ --ip 172.20.0.200 \ -d mysql/mysql-server:5.7
5.創(chuàng)建用戶并賦予權(quán)限
進(jìn)入到我們的MySQL容器中(m1為容器名)
docker exec -it m1 bash
進(jìn)入容器后登錄到MySQL
mysql -u root -p

輸入密碼后進(jìn)入到MySQL賦予權(quán)限
grant all on *.* to root@'%' identified by '123456';
6.編輯Dockerfile文件準(zhǔn)備構(gòu)建鏡像
Dockerfile文件詳解:
openjdk為我們構(gòu)建的基礎(chǔ)鏡像
/project為我們指定的工作目錄,可以根據(jù)實(shí)際情況替換為自己的目錄
spring-jar為我們要上傳部署的項(xiàng)目,這里要提前將項(xiàng)目放到與當(dāng)前dockerfile文件同級(jí)目錄下,然后將當(dāng)前項(xiàng)目復(fù)制到我們的工作目錄
CMD java -jar spring.jar 是在創(chuàng)建鏡像時(shí)運(yùn)行當(dāng)前項(xiàng)目
-mysql/addr 為指定配置文件中的運(yùn)行地址
FROM openjdk WORKDIR /project COPY spring-jar /project CMD java -jar spring.jar -mysql/addr
7.在MySQL中用命令運(yùn)行SQL文件
首先將準(zhǔn)備好的SQL文件放到之前創(chuàng)建好的../mysql/data目錄下
然后登錄進(jìn)入到當(dāng)前Mysql中
在前面我們構(gòu)建鏡像時(shí)有一個(gè)將data目錄與MySQL配置文件目錄進(jìn)行綁定
-v /soft/mysql/data:/var/lib/mysql
注:首先要?jiǎng)?chuàng)建好數(shù)據(jù)庫并指定使用當(dāng)前數(shù)據(jù)庫
例:
create database shop use shop
現(xiàn)在我們可以執(zhí)行以下命令進(jìn)行運(yùn)行SQL文件
source /var/lib/mysql/book.sql
二.Nginx安裝與部署
1.拉取Nginx鏡像
docker pull nginx
2.創(chuàng)建并運(yùn)行Nginx容器
docker run -it -p 80:80 --name n1 nginx

我們利用IP訪問一下,出現(xiàn)以下界面說明安裝成功

上面的創(chuàng)建是最基礎(chǔ)的創(chuàng)建Nginx容器,在后期我們還需要對(duì)Nginx進(jìn)行配置,目錄掛載等等
1.新建Nginx目錄及配置目錄
mkdir -p /soft/nginx/conf.d
進(jìn)入到當(dāng)前目錄,將配置文件上傳(配置文件在資源置頂,包含Nginx集群和域名映射)
再所需測(cè)試的前端文件資源進(jìn)行上傳(同上)

2.運(yùn)行以下命令創(chuàng)建并配置容器
docker run -itd \ --name n1 \ -v /soft/nginx/conf.d:/etc/nginx/conf.d \ -v /soft/nginx/html:/etc/nginx/html \ -p 80:80 \ --net mynet \ --ip 172.20.0.104 \ nginx
容器創(chuàng)建運(yùn)行完成后,在主機(jī)可以利用IP進(jìn)行訪問,訪問成功說明前端部署成功了

3.本機(jī)域名映射
進(jìn)入到我們本機(jī)的C:\Windows\System32\drivers\etc目錄下
找到Host打開進(jìn)行修改你要映射的域名
輸入你的虛擬機(jī)IP以及域名

總結(jié)
到此這篇關(guān)于Docker安裝Nginx并部署及MySQL容器構(gòu)建的文章就介紹到這了,更多相關(guān)Docker安裝Nginx部署MySQL容器構(gòu)建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker中編碼和時(shí)區(qū)設(shè)置不生效問題排查小結(jié)
本文主要介紹了在Docker容器中排查編碼和時(shí)區(qū)設(shè)置不生效的問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
使用Docker部署MySQL數(shù)據(jù)庫的兩種方法
在現(xiàn)代軟件開發(fā)中,MySQL 是一種流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),因其可靠性和易用性受到廣泛歡迎,通過 Docker,可以快速、便捷地部署和管理 MySQL 數(shù)據(jù)庫實(shí)例,本文將介紹兩種通過 Docker 部署 MySQL 的方法,需要的朋友可以參考下2024-10-10
docker配置node項(xiàng)目的實(shí)現(xiàn)步驟
本文主要介紹了docker配置node項(xiàng)目的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01
Docker安裝redis并且設(shè)置密碼,以及進(jìn)入容器修改密碼方式
這篇文章主要介紹了Docker安裝redis并且設(shè)置密碼,以及進(jìn)入容器修改密碼方式,2024-01-01
Docker安裝Minio+SpringBoot上傳下載文件方式
本文主要介紹了如何通過Docker安裝Minio并進(jìn)行訪問測(cè)試,同時(shí)也講解了如何在SpringBoot中上傳文件到Minio,內(nèi)容包含了pom文件引入依賴,application.properties配置,Minio配置,MinioClinet,FileService,FileServiceImpl的配置2024-10-10
在Linux?Docker中部署RStudio?Server實(shí)現(xiàn)遠(yuǎn)程訪問的操作
下面介紹在Linux?docker中安裝RStudio?Server并結(jié)合cpolar內(nèi)網(wǎng)穿透工具,實(shí)現(xiàn)遠(yuǎn)程訪問,docker方式安裝可以避免很多問題,一鍵安裝,如設(shè)備沒有安裝docker,需提前安裝docker,對(duì)?Docker部署RStudio?Server相關(guān)知識(shí)感興趣的朋友一起看看吧2023-12-12

