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