Flutter web已经发展到稳定版了,之前开发的Qools项目现在准备打包,并部署到docker上。
Flutter web构建
在构建前,先run项目,确保项目在本地正常运行。
fvm flutter build web
cd项目根目录,运行上面命令,这里使用了fvm管理flutter sdk版本,所以前面多了个fvm。
build文件下就会出现web文件夹,文件夹内就是构建好的web项目了,需要把这些部署到服务器。
Docker部署
Docker是用来做软件发布的一个软件,是一个工具。 需要在自己服务器上安装docker,我的阿里云服务器系统:CentOS8。可以参考:www.runoob.com/docker/cent…
安装docker
先登入服务器,终端输入
sudo yum install -y docker
启动docker服务
sudo systemctl start docker
systemctl enable docker # 开机启动
获取nginx镜像
docker pull nginx
运行 docker images
查看Nginx镜像是否获取成功,若为如下所示即为获取成功。
继续运行如下命令,在本机80端口运行Nginx服务器:
docker run -p 80:80 -d nginx
如图
列出容器
docker ps
记住CONTAINER ID 或 NAMES ,后面会用到。
在服务器新建目录,用来存放前面构建好的web项目,拷贝项目到你的目录中。
- 服务器存放项目路径:
/usr/qson/nginx/html
- 配置文件路径:
/usr/qson/nginx/default.conf
如果不需要更改,可以省略这一步
将上面服务器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
- 拷贝项目文件
docker cp /usr/qson/nginx/html f8e9bb900547://usr/share/nginx/html
通过服务器终端更新docker nginx
docker exec f8e9bb900547 nginx -s reload
然后浏览器直接输入ip地址访问,即可看到自己的项目
qools web项目地址:http://101.37.147.31/
docker容器 更多命令
service docker start # 启动docker
docker run -d -p 80:80 --name mynginx nginx # 通过docker启动nginx
systemctl restart docker # root用户下重启dokcer
systemctl stop docker #root用户下停止docker
docker restart mynginx # 重启nginx mynginx指nginx 容器名
netstat -lnp|grep 80 # 查看80端口进程
kill -9 25158 # 关闭进程
docker ps -a 或者 docker ps # 查看容器
docker exec -it 9df70f9a0714 /bin/bash # 进入容器,9df70f9a0714是容器id,在docker ps中可以获取
docker logs -f mynginx # 跟踪日志情况
whereis nginx 查询nginx路径
其他
# 彻底删除一个正在运行的镜像 步骤
docker ps // 查看所有正在运行容器
docker stop containerId // containerId 是容器的ID
docker ps -a // 查看所有容器 $ docker ps -a -q // 查看所有容器ID
docker stop $(docker ps -a -q) // stop停止所有容器
docker rm $(docker ps -a -q) // remove删除所有容器
docker images // 查看镜像列表
docker rmi ImageId //删除镜像 ImageId 是镜像的Id