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,端口号设置
最后 我们来测试下 到底安装好了没有
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 +上面的红框字符串 测试是否可以读取上传的信息
windows10 docker 使用以及虚拟机下fastDFS 的使用教程的更多相关文章
- Linux虚拟机下安装Oracle 11G教程
1.安装环境 操作系统:Red hat 6.5 内存:内存最低要求256M (使用:grep MemTotal /proc/meminfo 命令查看) 交换空间:SWAP交换空间大小根据内存大小决定( ...
- Linux虚拟机下安装Oracle 11G教程图文解说
1.安装环境 操作系统:Red hat 6.5 内存:内存最低要求256M (使用:grep MemTotal /proc/meminfo 命令查看) 交换空间:SWAP交换空间大小根据内存大小决定( ...
- windows虚拟机下 安装docker 踩过的坑
首先,你的是win7.8还是win10 windows对docker兼容也是最近的事,所以win7.8的话,安装docker是要用工具箱的,不过官方给了下载. 国内话的可以通过,阿里镜像,或者清华镜像 ...
- 关于docker在windows环境下运行的第一次体验
关于docker在windows环境下执行的原理 1.1. 首先是Docker Quickstart启动,如果在虚拟机Oracle VM VirtualBox不存在default虚 ...
- Docker+STF在ubuntu下测试环境搭建(详细搭建步骤及踩坑记录)
一.什么是OpenSTF? STF又称OpenSTF,它是一个手机设备管理平台,可以对手机进行远程管理.调试.远程手机桌面监控等操作.这个系统类似于目前很流行的云测服务比如Testin,虽然网页上提供 ...
- docker在Windows环境下的安装
Windows环境下安装 docker有两种安装包 一.Docker for Windows(目前只能在 64 位的 Windows10 专业版.企业版.教育版下才能安装) 二.Docker Tool ...
- 【Docker】 windows10 docker 使用
原文地址:https://www.aliyun.com/jiaocheng/872144.html 摘要:docker之前在Windows和MacOS上的版本都是通过Linux虚拟机的形式,而现在Do ...
- 在Linux虚拟机下配置tomcat
1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 博主我下载的是tomcat8 博主的jdk是1.8 如果你们的jdk是1.7或 ...
- VMWare虚拟机下为Ubuntu 12.04.1配置静态IP(NAT连接方式)
背景 在虚拟机下运行操作系统,尤其是Linux系统已经是非常常见的做法.有时你想在虚拟机下搭建一个(模拟)服务器来供主机访问,比如搭建一个telnet/ssh.此时你会发现,每次启动虚拟机,VMWar ...
随机推荐
- springboot成神之——Basic Auth应用
本文介绍Basic Auth在spring中的应用 目录结构 依赖 入口DemoApplication 验证Authenication 配置WebSecurityConfig 控制器TestContr ...
- Java之Object类与instanceof关键字
Object类是所有类的父类: 我们上下代码: package com.learn.chap03.sec14; public class A { // 上面类A继承了Object类,因此又可这样定义: ...
- Swift 添加自定义响应事件
一,新建一个协议(Protocol) VisitURLProtocol.swift import UIKit protocol VisitURLProtocol{ func didVisitURL(u ...
- Storm集群部署及单词技术
1. 集群部署的基本流程 集群部署的流程:下载安装包.解压安装包.修改配置文件.分发安装包.启动集群 注意: 所有的集群上都需要配置hosts vi /etc/hosts 192.168.239.1 ...
- ffmpeg相关时间概念
v_rescale_q用于计算Packet的PTS.av_rescale_q的返回值是一个很大的整数,且每次计算的结果间隔很大. 不同于avcodec_encode_video改变AVCodecCon ...
- 【281】◀▶ arcpy.mapping 常用类说明
arcpy.mapping 教程入门 arcpy.mapping 指导原则 按字母顺序排序的 arcpy.mpping 类列表 按字母顺序排序的 arcpy.mpping 函数列表 按字母顺序排序的 ...
- Zookeeper 基础、工作流、ZAP协议
ZooKeeper 基础 在深入了解ZooKeeper的运作之前,让我们来看看ZooKeeper的基本概念.[1] 我们将在本章中讨论以下主题:1.Architecture(架构)2.Hierarch ...
- Jar中的Java程序如何读取Jar包中的资源文件
Jar中的Java程序如何读取Jar包中的资源文件 比如项目的组织结构如下(以idea中的项目为例): |-ProjectName |-.idea/ //这个目录是idea中项目的属性文件夹 |-s ...
- 读书笔记 Week5 2018-4-5
再结束了第一个个人任务以后,我也算有点时间翻开一本大部头来通读一下.在看了一些相关的评论说:“该书可以从任意章节读起”后,刚刚在180M测试文件的个人任务中吃了亏的我,决定从他的第5部分,代码改善看起 ...
- [luogu3369]普通平衡树(替罪羊树模板)
解题关键:由于需要根据平衡进行重建,所以不能进行去重,否则无法保证平衡性. #include<cstdio> #include<cstring> #include<alg ...