Flask网站项目部署到服务器docker及远程数据库

docker一键安装(centos操作系统)

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl start docker     启动docker
sudo systemctl enable docker 开机自启动docker

 

 

1.启动docker的neo4j数据库 绑定端口及挂载目录

docker run \
    --publish=7474:7474 --publish=7687:7687 \
    --volume=$HOME/neo4j/data:/data \
    neo4j:3.5

2.在docker hub创建对应的项目

 

 

3. 编写dockerfile 打包上传项目

启动桌面版的docker

在项目dockerfile文件夹处打开powershell 编译项目

 

 

 docker build -t ccucm_database:v1 .
docker tag ccucm_database:v1 chaikong/ccucm_database:v1 #打标签生成一个 用户名 /镜像名:版本 的镜像
docker push chaikong/ccucm_database:v1 #将对应镜像以及标签推到hub里(镜像名必须和hub中的镜像名相同)

4.在阿里云服务器上进行拉操作 并部署项目

docker pull chaikong/ccucm_database:v2 #拉对应版本的镜像
docker run --name ccucm_database_v22 -d -p 4000:4000 chaikong/ccucm_database:v2 #运行项目

 

 

5.将挂载的数据复制到另一个服务器的neo4j上面

scp -r /root/neo4j_backup/neo4j/data_medical/ root@47.92.130.xx:/root/neo4j-community-3.4.5

 

 

6.mysql容器的启动

docker run --name   some-mysql   -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /root/data:/var/lib/mysql mysql:5.7

 如果出现无法给innodb分配足够的buffer pool内存的问题:可以使用swap

https://blog.csdn.net/weixin_44509607/article/details/110927193

 

ps.不适用windows操作系统进行上传 直接把项目代码转到服务器上(dockerfile文件不需要改)

 

 在服务器文件夹下build文件

 

 build成功创建镜像后 创建容器

 

 

dockerfile出现网络读取超时问题:

raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

 

 

解决办法:更换pip的镜像源:

RUN pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

 
posted @ 2022-12-13 11:10  枫叶像思念  阅读(223)  评论(0编辑  收藏  举报