文章目錄
- 〇、安裝vmware、搭建docker
- 1.安裝虛擬機
- 2.搭建docker
- 3.常用命令
- 一、部署mysql
- 1.從網路拉取鏡像
- 2.創建mysql的容器
- 3.訪問mysql容器
- 4.匯入sql檔案到mysql容器中
- 二、部署spring boot后端
- 1.打包spring boot 專案
- 2.在docker中部署jar包
- 三、部署前端
參考教程:https://www.bilibili.com/video/BV1eo4y1k7Qx?p=3
〇、安裝vmware、搭建docker
1.安裝虛擬機
先在自己的windows系統的電腦上裝一個虛擬機,方便后續學習,
安裝教程:https://blog.csdn.net/m0_46680639/article/details/106018321
2.搭建docker
Docker官方檔案:https://docs.docker.com/
Docker鏡像倉庫:https://hub.docker.com/search?type=image
Docker鏡像倉庫國內版:http://hub.daocloud.io/
默認安裝路徑:/var/lib/docker
安裝docker可視化:
3.常用命令
切換到root用戶:
在終端輸入su然后回車
查看正在運行的docker容器有哪些:
docker ps -a
查看當前作業系統的環境:
cat /etc/redhat-release
查詢容器:
docker ps
停止某容器:
docker stop 容器id
洗掉某容器:
docker rm -f 容器id
洗掉某鏡像:
docker rmi 鏡像名
設定容器開機自啟動(創建時可能忘了設定):
docker update --restart=always 容器id
安裝VM tools用來給虛擬機傳入檔案:
https://blog.csdn.net/panjiansheng123/article/details/69870211/
安裝好之后就可以直接從windows系統中把檔案拖到虛擬機桌面里面去了
進入檔案:
vim 檔案名
修改:
a或i
保存退出:
按esc然后:wq回車
洗掉檔案:
rm 檔案名
洗掉目錄:
rm -r 檔案名
解壓zip:
https://www.sohu.com/a/328563822_120047065
創建檔案:
vi 檔案名
步驟一:卸載舊的docker以及常用的docker命令
查看docker版本:
docker version或者docker info
查看正在運行的docker容器有哪些(查看是否已經安裝了docker):
docker ps -a
或者docker ps
停止docker的運行:
systemctl stop docker
停止某個docker的運行:
docker stop 容器的id
洗掉某個docker容器:
docker rm -f 容器的id
查看docker的鏡像:
docker images
洗掉docker的鏡像:
docker rmi 容器名稱
卸載原來的docker:
yum remove -y docker docker-client docker-client-latest docker-common
docker-latest docker-latest-logrotate docker-logrotate
docker-selinux docker-engine-selinux docker-engine
查看埠占用:
https://jingyan.baidu.com/article/656db9183861cde381249c87.html
上面的命令好像沒有卸載掉docker,徹底卸載docker的方法:
https://blog.csdn.net/weixin_42294060/article/details/106188759
步驟二:安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
配置yum源:
sudo yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo
步驟三:安裝并啟動docker
安裝:
yum -y install docker-ce docker-ce-cli containerd.io
設定docker開機自啟動:
systemctl enable docker
查看docker運行狀態:
systemctl status docker
啟動docker:
systemctl start docker
一、部署mysql
教程參考: https://blog.csdn.net/xsj34567/article/details/80940238
1.從網路拉取鏡像
先進入Docker鏡像倉庫國內版網站:http://hub.daocloud.io/
搜索所需要的鏡像,比如mysql
點擊進入mysql鏡像,點擊版本
點擊所需要的版本后面的拉取,并復制拉取命令daocloud.io/library/mysql:8.0.20
執行命令時要在拉取命令前面加上docker pull,靜靜地等待
完成后可以通過docker images命令查看鏡像是否拉取成功
2.創建mysql的容器
創建一個目錄:
mkdir -p /home/nlp/檔案/mysql8020/
容器創建命令(運執行時刪掉換行):
docker run -itd -p 3309:3306 --name mysql8020 -v /usr/local/mysqlData/conf:/etc/mysql/conf -v /usr/local/mysqlData/data:/etc/mysql/data -e MYSQL_ROOT_PASSWORD=root --lower-case-table-names=1 mysql:8.0.20
docker run -d --name mysql8020 -h mysql8020
-p 3309:3306
-e MYSQL_ROOT_PASSWORD=root -e TZ=Asia/Shanghai
-d mysql:8.0.20 --lower-case-table-names=1
解釋:
第一行–name后面是容器名字,-h后面是容器的host名字(進去容器之后也相當于一個作業系統)
第二行是埠映射,里面的3306映射到外面宿主是3309
第四行配置mysql密碼為root,時區為上海的時區
第五行設定表名忽略大小寫,一定要配這個,不配后面是個大坑!
3.訪問mysql容器
進入容器:
docker exec -it mysql8020 bash
登錄mysql:
mysql -h 127.0.0.1 -u root -p回車再輸入前面配置好的密碼
或者試試mysql -h localhost -u root -p
遠程訪問:
mysql -uroot -proot -h172.16.48.93 -p --port=3309
如何修改配置:
坑1:表名大小寫問題
https://blog.csdn.net/sinat_36765345/article/details/108769802
坑2:遠程訪問1251報錯
https://blog.csdn.net/u012604745/article/details/80632860
4.匯入sql檔案到mysql容器中
方法一(強推):
用windows電腦遠程連接服務器的mysql容器,然后本地navicat操作,更簡單也更不容易出錯,
方法二(挺麻煩的):
首先通過u盤等途徑將sql檔案拷貝至本地檔案夾,然后按以下教程執行:https://www.cnblogs.com/denghb/p/12309831.html
我在主目錄下新建了檔案夾tracy,然后把我的一堆sql檔案匯入了進去
然后j進入tracy檔案夾中,把tracy檔案夾中的內容挨個復制到mysql容器中去:
docker cp base1.sql mysql8020:/base1.sql
docker cp tables2.sql mysql8020:/tables2.sql
docker cp grower_info3.sql mysql8020:/grower_info3.sql
docker cp score_handle3.sql mysql8020:/score_handle3.sql
docker cp tech_score3.sql mysql8020:/tech_score3.sql
進入容器:
docker exec -it mysql8020 bash
查看是否成功復制到了mysql容器中:
ls
按順序執行每個sql檔案:
mysql -uroot -proot -D apijson1 < base1.sql
mysql -uroot -proot -D apijson1 < tables2.sql
mysql -uroot -proot -D apijson1 < grower_info3.sql
mysql -uroot -proot -D apijson1 < score_handle3.sql
mysql -uroot -proot -D apijson1 < tech_score3.sql
二、部署spring boot后端
1.打包spring boot 專案
step 1 首先,在pom.xml中引入插件依賴:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.version}</version>
<configuration>
<fork>true</fork>
<mainClass>apijson.demo.DemoApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
step 2 打包:

step 3 報錯了,解決方法:
https://blog.csdn.net/sunshine77_/article/details/102720041
step 4 再來一次step 2,成功:


step 5 可以嘗試運行下jar包:
在jar包目錄下運行cmd命令:java -jar cigarette-1.0.0.jar然后回車,可能會遇到埠被占用的問題,pom.xml中配置換個埠就好了,
2.在docker中部署jar包
先把jar包從U盤拷貝到任意一個目錄:
我是拷貝到:/home/nlp/檔案/中,完整目錄為:/home/nlp/檔案/cigarette-1.0.0.jar
拉鏡像:
docker pull java:8
在/home/nlp/檔案/下創建目錄cigar:
mkdir /home/nlp/檔案/cigar/
復制jar包到cigar中:
cp /home/nlp/檔案/cigarette-1.0.0.jar /home/nlp/檔案/cigar/cigarette-1.0.0.jar
在cigar中創建dockerfile檔案:
cat>>dockerfile回車
>緊接著鍵入以下內容后按ctrl+D保存:
FROM java:8
MAINTAINER springboot
ADD cigarette-1.0.0.jar cigarette-1.0.0.jar
EXPOSE 9000
ENTRYPOINT [“java”,"-jar",“cigarette-1.0.0.jar”]
解釋:
FROM: 基礎鏡像,通過jdk8鏡像開始
MAINTAINER: 維護者
ADD: 復制jar包到鏡像內,名字也為cigarette-1.0.0.jar
EXPOSE: 宣告埠
ENTRYPOINT: docker啟動時運行的命令,這里就是容器運行就啟動jar服務
創建容器:
在cigar檔案夾中運行docker build -t springboot .
springboot是我取的容器名,最后的點不能忘了
啟動容器:
docker run -d -p 8086:9000 springboot
8086是外部埠,映射到容器中的9000埠去,我們通過ip:8086就可以訪問專案了
三、部署前端
前端我偷懶,直接用了nodejs,沒用docker,這部分留到以后再說吧,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302600.html
標籤:其他
