Linux下使用docker部署前後分離netcore webapi項目、前端vue頁面、Mysql、Redis、SQLite
說明
這篇文章是爲了記錄公司的項目部署過程,方便給其他運維人員查閱,我對linux的詳細操作談不上非常精通,如果只是想了解實戰項目的部署流程可以查看這篇文章。本文介紹了linux下使用docker的基本操作、使用docker部署netcore webapi項目、vue項目、Mysql、Redis、SQLite。我們先是一步一步部署,之後會採用docker-compose一步生成多種環境。 本人能力有限,底層的東西講不清楚,但是會把遇到的問題的解決辦法分享出來供大家查閱。廢話不多說,直接整。
安裝Docker
此處在Centos7進行安裝,使用其他版本的系統可能在語句上要有所更改,自行百度吧。
1.首先查看自己的服務器上裝沒裝docker,避免安裝重複。
sudo yum update #更新一下yum包
sudo yum install -y yum-utils #安裝 yum-utils,它提供了 yum-config-manager,可用來管理yum源
yum list installed | grep docker
如果已經安裝了就不需要再次安裝。
2.安裝docker
yum -y install docker-ce
提示我們已經安裝完成。
如果說No package docker-ce available,則運行:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
這一步設置穩定的倉庫,添加yum源。之後再進行安裝就可以了。
啓動docker
sudo systemctl start docker
設置docker自啓動
sudo systemctl enable docker
查看docker是否運行起來
systemctl status docker
docker已經部署好了,接下來我們正式開始一樣一樣部署我們的項目。
Docker部署netcore項目
我們都知道netcore項目是需要依賴於程序運行時和SDK纔可以運行的,也就是說部署netcore項目第一步應該是安裝運行環境。
詳細操作只需要三步,參考:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-centos
2. 在我們自己的項目裏右鍵項目,新增–>啓動docker支持,之後我們會看到在項目裏新增了一個Dockerfile文件
我們暫時先不需要修改這個文件,但是需要右鍵Dockerfile文件,屬性–>如果較新則複製。接下來我們在文件管理夾中把我們的項目壓縮、拷貝到我們linux服務器上,我們在服務器上編譯發佈。
在linux下創建一個文件夾
mkdir datavisual
ls
文件夾創建成功,我們使用rz命令上傳我們的文件。*(rz命令就是跳出我們熟悉的上傳窗口)
rz
如果rz命令不起作用,安裝一下lrzsz
yum install lrzsz -y
我們把文件導入到我們文件夾中後需要解壓一下,我選擇解壓到DataVisualization 的同名文件夾下
unzip -d DataVisualization DataVisualization.zip
解壓之後我們進入我們的文件夾,使用ls命令查看目錄結構
我們可以看到裏面有一個Dockerfile文件,我們將Dockerfile文件移動到上一級目錄(原因是Dockerfile裏的路徑是從上級結構看的)
mv Dockerfile ..
運行Dockerfile,並生成鏡像
docker build -t mynetcore:1.0 .
這個過程可能需要稍微等待一會。。。
創建鏡像一共會有17步操作,鏡像生成成功之後會是這樣的結果:
docker images #查看生成的鏡像
運行下面的語句生成容器
docker run --name datavisual -d -p 8055:80 mynetcore:1.0
查看容器生成是否成功:
docker ps -a
我們可以看到我們的容器生成成功了,可以直接根據ip端口訪問我們的netcore應用程序了。
注意上面圖片的STATUS是Up狀態才代表容器生成成功,如果是Exited(***)代表生成失敗,怎麼處理後面說。
就這樣,有問題留言,只要我看到並且我瞭解的一定回覆!
下一篇介紹docker下部署mysql