记录Linux部署人脸修复GFPGAN项目Docker Python 使用

记录Linux 服务器使用人脸修复GFPGAN 项目

1:阿里云安装docker,用docker 是隔离环境,Python环境还真是麻烦…
https://help.aliyun.com/zh/ecs/use-cases/deploy-and-use-docker-on-alibaba-cloud-linux-2-instances

2:关于docker 镜像,想找个好的镜像也是很难,百度吧,很多Linux 镜像非常裸,甚至连语言包都没有,随便运行个命令都缺,最后用了这个 80M,最后装完依赖一共快12G…

docker pull ubuntu:20.04

3:关于docker 镜像,容器,保存,退出等一些操作
镜像:就是OS文件,每次 docker run 启动镜像都是新的一个容器;

容器:就是镜像启动后的的实例,镜像是OS文件,容器是这个OS启动的实例,一个镜像可以启动多个容器,互不相关;

保存:对于镜像是无法修改的,只能将当前容器保存为新的镜像 docker commit 容器id name:tag;

对于容器,默认是会自动保存的,停止|退出容器容器之后 可以通过 docker ps -a 查看上次的容器id,然后执行 docker exec -it 0e23162b2ae7 /bin/bash 进入容器;

后台执行容器:进入容器后 Ctrl + P + Q (大写),退出容器则不会停止容器;

文件传输:这个是非常不方便,没法直接编辑docker 容器内的文件,每次只能通过docker cp 命令传输…,修改配置啥的只能vim…

关于磁盘:每启动一个镜像都会占用镜像磁盘,每次生成镜像也会占用磁盘,不小心启动可很多容器可能磁盘瞬间被占用,可以通过命令 docker rm -f xxx 删除不要的容器

4:docker 常用命令

docker ps -a //查看所有容器

docker images //查看镜像

docker run -p 5555:3306-it 4cd1arx3cc1e /bin/bash //启动镜像,映射外网5555->容器3306

docker exec -it 0e23162b2ae7 /bin/bash  //进入容器 (镜像是系统,容器是启动的对象)

docker rmi -f f59b935248a8 //删除镜像

docker rm -f xxx  //删除容器

docker cp /usr/local/GFPGAN-master 683b7e0d7a42:/usr/local //复制文件导入容器里需要的是容器id,不是image id

docker commit 22517046707e pic_recover:pic_recover_v3 //保存修改后的镜像,是容器id,保存后才退出

Ctrl + P + Q  退出容器不杀死容器

python 相关

//显示安装详情,有时卡很久可以看看情况
#pip3 install opencv-python-headless --verbose

安装多个python 并给对应Python 安装pip

1:curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2:python get-pip.py

如果你要为Python3.8安装pip,就把上面第二行命令换成:

python3.8 get-pip.py

用对应版本的python
安装依赖,有时卡很久大概率是网络不好,内部依赖太多,
并且内部依赖不能用镜像链接可能就一直在卡着,这时可以尝试先安装其他依赖,很可能会解决这个问题
尽量使用阿里云源安装pip

优先安装这个依赖,不然会卡住

pip3 install facexlib -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

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

这里是手动找的py38 opencv_python版本,自动安装的好像是opencv_python-4.8版本但是 是cp37的,怕有影响,就手动安装了一个,主要之前总是提示cv2 model…安装这个没解决cv2问题,下面有解决方案

先下载后传到服务器安装
//下载地址 python-opencv里面找自己电脑合适的,安装

pip3 install opencv_python-4.5.4.60-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

//最后运行 出现cv2 model没找到,安装这个可以解决

apt install libgl1-mesa-glx

搞完安装lnmp,项目里用php做web服务

wget http://soft.lnmp.com/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz && tar zxf lnmp2.0.tar.gz && cd lnmp2.0 && ./install.sh lnmp

最后数据库权限,开通数据库端口外网访问,链接数据库后创建数据表,这里要关注docke 端口映射,默认docker 是不影射主机端口的,就是容器内的数据库只能容器内访问,外面是访问不了的,docker run -p 5555:3306 启动镜像,看上面docker命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxx' WITH GRANT OPTION;

你可能感兴趣的:(linux,docker,python)