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;