使用Docker部署Flutter web項目
Flutter web已經(jīng)發(fā)展到穩(wěn)定版了,之前開發(fā)的Qools項目現(xiàn)在準(zhǔn)備打包,并部署到docker上。
Flutter web構(gòu)建
在構(gòu)建前,先run項目,確保項目在本地正常運行。
fvm flutter build web
cd項目根目錄,運行上面命令,這里使用了fvm管理flutter sdk版本,所以前面多了個fvm。
build文件下就會出現(xiàn)web文件夾,文件夾內(nèi)就是構(gòu)建好的web項目了,需要把這些部署到服務(wù)器。
Docker部署
Docker是用來做軟件發(fā)布的一個軟件,是一個工具。需要在自己服務(wù)器上安裝docker,我的阿里云服務(wù)器系統(tǒng):CentOS8。可以參考:https://www.runoob.com/docker/centos-docker-install.html
安裝docker
先登入服務(wù)器,終端輸入
sudo yum install -y docker
啟動docker服務(wù)
sudo systemctl start docker
systemctl enable docker # 開機啟動
獲取nginx鏡像
docker pull nginx
運行 docker images 查看Nginx鏡像是否獲取成功,如下所示即為獲取成功。
繼續(xù)運行如下命令,在本機80端口運行Nginx服務(wù)器:
docker run -p 80:80 -d nginx
如圖
列出容器
docker ps
記住CONTAINER ID 或 NAMES ,后面會用到。
在服務(wù)器新建目錄,用來存放前面構(gòu)建好的web項目,拷貝項目到你的目錄中。
服務(wù)器存放項目路徑: /usr/qson/nginx/html
配置文件路徑: /usr/qson/nginx/default.conf如果不需要更改,可以省略這一步
將上面服務(wù)器2個路徑下的文件拷貝到docker容器
拷貝default.conf文件
如果不需要更改default.conf,可以省略這一步
docker cp /usr/qson/nginx/default.conf ${CONTAINER ID}://etc/nginx/conf.d/default.conf
${CONTAINER ID}這個替換成前面的CONTAINER ID,這邊的CONTAINER ID是f8e9bb900547,即
docker cp /usr/qson/nginx/default.conf f8e9bb900547://etc/nginx/conf.d/default.conf
拷貝項目文件,關(guān)鍵
docker cp /usr/qson/nginx/html f8e9bb900547://usr/share/nginx/html
通過服務(wù)器終端更新docker nginx
docker exec f8e9bb900547 nginx -s reload
然后瀏覽器直接輸入ip地址訪問,即可看到自己的項目
qools web項目地址:http://101.37.147.31/
