环境:win10专业版,家庭版另找教程

1、安装docker desktop

进入网址戳这里直接安装就行,没什么要注意的,当你打开的时候遇到wsl2没安装,按照提示安装了就行。
在这里插入图片描述

安装完了就是镜像配置了,拉取镜像的时候能快点,多加几个。点击设置选择docker engine
在这里插入图片描述
在这里插入图片描述
在右边的框框里面加上下面这些

"registry-mirrors": [
    "https://xxxxx.mirror.aliyuncs.com/", # 这是阿里云下的镜像地址
    "https://docker.mirrors.ustc.edu.cn/",
    "http://hub-mirror.c.163.com/"
  ]

对了,在这期间右下角必须一直是绿绿的,这样docker才算是正常启动。
在这里插入图片描述
2、拉取镜像,并让镜像跑起来

参考:天天生鲜-django2.2版本中的readme文件,注意整个过程docker desktop需要打开。

win+e输入cmd,进入命令行工具,输入以下命令,需要耐心等待,多试几次,全部pull complete才行。

docker pull pad0y/fdfs:v3

拉取完毕,会在image中显示
在这里插入图片描述
输入以下命令,让镜像跑起来

docker run -d --name fdfs\
    -p 8888:8888 \
    -p 22122:22122 \
    -p 23000:23000 \
    -e TZ=Asia/Shanghai \
    -e NET_VAR=eth0 \
    -e MASTER_IP=xxx\ # 这里的ip地址是本机的ip地址
    -v /mnt/fdfs:/var/local/fdfs \
    pad0y/fdfs:v3
ps aux | grep fdfs

首先查看容器id,后面上传会用到,在命令行输入以下命令

docker ps -a

b4efa4da4c85 即为fdfs的容器id
在这里插入图片描述
测试上传,首先将测试图片传入容器,前面是本机的图片路径(默认是C盘,你也可以写"D:/xxxx"用自己图片所在路径),后面是容器id:目标地址
我的地址就是c:/
在这里插入图片描述

PS C:\Users\DUE> docker cp /xiao.jpg b4efa4da4c85:/etc/fdfs/

回到fdfs的命令行,执行如下命令上传文件,返回group1xxxx即为上传成功!

cd /etc/fdfs  # 进入/etc/fdfs目录
/etc/fdfs # fdfs_upload_file /etc/fdfs/client.conf /etc/fdfs/xiao.jpg  # 上传文件
group1/M00/00/00/rBEAAWJJbjqAZXtGAACCu0eyKfE255.jpg  

为了保险,在浏览器中输入图片地址测试一下。可以访问,即为上传成功
在这里插入图片描述
4、fdfs与python交互

fdfs_client-py-master.zippython setup.py install

完了之后得到的是个egg文件,不用管他,直接用就行
参考:windows下在使用django时用到fdfs_client模块的安装问题

打开pythonIDE,导包,选一个路径放上自己的client.conf,然后上传

>>> from fdfs_client.client import Fdfs_client
>>> client = Fdfs_client('D:/Program Files/FastDFS/client.conf')
>>> ret = client.upload_by_filename('D:/pictures/xiao.jpg')

然后就成了这样了,然后就没有然后了,这就是我这两天研究下来的成果,有人能救救我吗?

看到有篇文章好像跟我的问题差不多,但是操作系统不一样,也不能用这种方法来解决
参考:docker安装fastdfs碰到storage的IP地址映射宿主地址问题
在这里插入图片描述
最后,找bug的这些天,我也找到了不少有用的命令,也许你也能用得到。

1、修改镜像保存路径(确保wsl应用已退出)

C:\Users\DUE>wsl --list -v
  NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

导出镜像文件,那个冒号不要忘记!

C:\Users\DUE>wsl --export docker-desktop-data "D:\Program Files\DockerDesktop\docker-desktop-data.tar"

C:\Users\DUE>wsl --export docker-desktop "D:\Program Files\DockerDesktop\docker-desktop.tar"

注销子系统

C:\Users\DUE>wsl --unregister docker-desktop-data
正在注销...

C:\Users\DUE>wsl --unregister docker-desktop
正在注销...

重新导入,前面是自己要安装的位置,后面是需要用到的压缩包的位置

C:\Users\DUE>wsl --import docker-desktop "D:\Program Files\DockerDesktop\docker-desktop" "D:\Program Files\DockerDesktop\docker-desktop.tar" --version 2

C:\Users\DUE>wsl --import docker-desktop-data "D:\Program Files\DockerDesktop\docker-desktop-data" "D:\Program Files\DockerDesktop\docker-desktop-data.tar" --version 2

2、查看并杀死进程

C:\Users\DUE>netstat -aon|findstr "22122"  # 这个是端口号
  TCP    192.168.3.25:54290     192.168.3.25:22122     SYN_SENT        14876
  TCP    192.168.3.25:54291     192.168.3.25:22122     SYN_SENT        14876

C:\Users\DUE>tasklist |findstr "14876"  # 这个是进程号

3、linux系统编辑文件的命令

编辑完保存退出的命令方式

    1. Esc+:+wq+回车(w是write,q是quit)
    
    2. Esc+:+x+回车(x=wq)

    3. Esc+shift+zz 

    4. Esc+ZZ(在大写开启下)

如果是进入了编辑,但是未进行任何改动的保存退出命令如下:

Esc+:+q+回车

不保存退出的命令:z
转自:linux系统编辑完保存退出的四种方式