windows10 docker 使用以及虚拟机下fastDFS 的使用教程

我们 先来了解下 什么是docker?

 

Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。

 

docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。

1.不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。比如IIS和Apache访问端口冲突。这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,小就意味着省钱了。

 

2.你开发软件的时候用的是Ubuntu,但是运维管理的都是centos,运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些Ubuntu转centos的问题,比如:有个特殊版本的数据库,只有Ubuntu支持,centos不支持,在转移的过程当中运维就得想办法解决这样的问题。这时候要是有docker你就可以把开发环境直接封装转移给运维,运维直接部署你给他的docker就可以了。而且部署速度快。

 

3.在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机会占用空闲内存的,docker部署的话,这些内存就会利用起来。

总之docker就是集装箱原理。

 

第一步先下载docker:

windows下docker的 地址,请点击左边的链接即可 ,提取码4ydb

准备:

第一,把你的电脑的bios的虚拟开关打开,各个品牌的打开方法自己百度

第二,启 windows 10 的 Hyper-V :控制面板 - 程序 - 启用或关闭 windows 功能

 

注:只有win10的专业版才有此功能

第二步:

我们进行docker的配置,

这里可以设置docker的内存以及占用核数

 

 我们可以将docker下载源 更改为 网易的   http://hub-mirror.c.163.com

 

 

ok 配置完毕 我们的小鲸鱼开始起航了 

 

开始:

去 Docker Hub 上拉取一个叫 hello-world 的集装箱(说白了就是从网上拉下来

docker pull hello-world

 

然后让这个集装箱跑起来:

docker run hello-world

 

 

查看本机所安装的集装箱

docker images

 

 

 

例子:把hello-world  镜像保存在本地

docker save hello-world -o hellow-world.tar   -o后面跟生成的路径

 

删除 镜像:

docker rmi hello-world

 

查看正在运行的容器

docker ps -a

 

删除所有的容器

docker rm docker ps -a -q

 

停止、启动、杀死一个容器

docker stop Name/ID 
docker start Name/ID 
docker kill Name/ID

 


 

win10下  docker上安装  fastdfs, 我的百度网盘上有 点击下载  提取码:id9t

docker load -i ⽂件路径/fastdfs_docker.tar

1, 假如 我们的这个tar文件在桌面,   docker load -i /C:/Users/Administrator/Desktop/fastdfs_docker.tar

 

接下来把 我们的小鲸鱼共享磁盘设置,点击确定后会弹出 输入计算机密码的的窗口, 

 

2. 运⾏tracker

执⾏如下命令开启tracker 服务

docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker

我们将 fastDFS tracker 运⾏⽬录映射到本机的 /var/fdfs/tracker⽬录中,注 在我们设置的共享磁盘下 建立这三层目录,

 

3. 运⾏storage


执⾏如下命令开启storage服务(/var/fdfs/storage 手动建立

docker run -dti --network=host --name storage -e TRACKER_SERVER=10.211.55.5:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage

注:TRACKER_SERVER=本机的ip地址,不是你的127.0.0.1,端口号设置22122

 

最后 我们来测试下 到底安装好了没有

docker images   查集装箱
docker ps -a    查容器

 下图 代表你的应用正在运行中,

 

 

由于 fastdfs  在我们windows下 测试屡次出现问题,所有我们将项目转移到虚拟机上,

ubuntu18.04虚拟机安装docker

 

第一步: 

sudo apt-get update

然后直接   

 

sudo apt install docker.io

安装完成之后 可以 

docker version   查看版本 

或者 docker -v

 

然后获取镜像

可以利⽤已有的FastDFS Docker镜像来运⾏FastDFS。
获取镜像可以通过下载

sudo docker image pull delron/fastdfs

 

 

也可是直接使⽤提供给⼤家的镜像备份⽂件

sudo docker load -i ⽂件路径/fastdfs_docker.tar

 

成功之后可以 

 

sudo docker image ls 查看镜像

 

列出本机所有容器,包括已经终止运行的

sudo docker container ls --all

 

 

加载好镜像后,就可以开启运⾏FastDFS的tracker和storage了。

 

删除镜像

 

sudo docker image rm hello-world

 

创建容器

 

sudo docker run [option] 镜像名 [向启动容器中传入的命令]
常用可选参数说明:

-i 表示以“交互模式”运行容器
-t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
–name 为创建的容器命名
-v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
-d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
-p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
-e 为容器设置环境变量
–network=host 表示将主机的网络环境映射到容器中,容器的网络与主机相同
交互式容器


例如,创建一个交互式容器,并命名为myubuntu

sudo docker run -it --name=myubuntu ubuntu /bin/bash

 

2. 运⾏tracker
执⾏如下命令开启tracker 服务

sudo docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker

 

我们将fastDFS tracker运⾏⽬录映射到本机的 /var/fdfs/tracker⽬录中。
执⾏如下命令查看tracker是否运⾏起来

sudo docker container ls

 

如果想停⽌tracker服务,可以执⾏如下命令

sudo docker container stop tracker

 


停⽌后,重新运⾏tracker,可以执⾏如下命令

sudo docker container start tracker

 

 


3. 运⾏storage
执⾏如下命令开启storage服务

sudo docker run -dti --network=host --name storage -e TRACKER_SERVER=10.211.55.5:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage

TRACKER_SERVER=本机的ip地址:22122 本机ip地址不要使⽤127.0.0.1
我们将fastDFS storage运⾏⽬录映射到本机的/var/fdfs/storage⽬录中
执⾏如下命令查看storage是否运⾏起来

sudo docker container ls

 

如果想停⽌storage服务,可以执⾏如下命令

sudo docker container stop storage

 


停⽌后,重新运⾏storage,可以执⾏如下命令

sudo docker container start

 


注意:如果⽆法重新运⾏,可以删除/var/fdfs/storage/data⽬录下的fdfs_storaged.pid ⽂件,然后
重新运⾏storage。

 

停止与启动容器

停止一个已经在运行的容器

sudo docker container stop 容器名或容器id


启动一个已经停止的容器

sudo docker container start 容器名或容器id

 

kill掉一个已经在运行的容器

 

sudo docker container kill 容器名或容器id

 

删除容器

sudo docker container rm 容器名或容器id

 

将容器保存为镜像

sudo docker commit 容器名 镜像名

 

镜像备份与迁移

 

我们可以通过save命令将镜像打包成文件,拷贝给别人使用

sudo docker save -o 保存的文件名 镜像名
sudo docker save -o ./ubuntu.tar ubuntu


在拿到镜像文件后,可以通过load方法,将镜像加载到本地
sudo docker load -i ./ubuntu.tar

 


 

我们的python环境中,需要安装

安装
安装提供给⼤家的fdfs_client-py-master.zip到虚拟环境中

百度下载 提取码:0qyo
pip install fdfs_client-py-master.zip   本地下载
pip install mutagen 
pip isntall requests

 解压后 cd到该目录下

看截图

 

执行 (注意虚拟环境的切换)

python setup.py install

把这个安装包 安装到你的环境中即可

下载 文档  激活码:ayzh

我们可以打开 shell环境:

python manage.py shell 

 

from fdfs_client.client import Fdfs_client

client = Fdfs_client('meiduo_mall/utils/fastdfs/client.conf')
client.upload_by_filename(文件名)

 

 接下来看看上传成功后的信息输出

 

最后 在浏览器 输入本地IP + 8888 +上面的红框字符串  测试是否可以读取上传的信息

 

posted @ 2018-12-05 18:52  lvye001  阅读(4618)  评论(0编辑  收藏  举报