Win10中docker的安装与使用(图文详解) | 您所在的位置:网站首页 › Win10专业版系统Docker安装、配置和使用详细教程 › Win10中docker的安装与使用(图文详解) |
本篇文章给大家带来了关于怎样在win10上安装与使用docker的相关知识,希望对大家有帮助。 1.docker的安装 环境准备Docker for Windows是一个Docker Community Edition(CE)应用程序。Docker for Windows安装包包含了在Windows系统上运行Docker所需的一切。如果你不想装虚拟机,想直接在你的Windows操作系统中安装与学习使用docker,那么你首先得查看你的系统是否满足Docker for Windows的安装与使用要求。 Docker for Windows的当前版本运行在64位Windows 10 Pro,专业版、企业版和教育版(1607年纪念更新,版本14393或更高版本)上。Ps:家庭版是不行的,如果你是家庭版,那么一是升级到专业版,破解专业版推荐个地址:http://blog.csdn.net/SONGCHUNHONG/article/details/78006389 ,二是安装Docker Toolbox,自行网上百度http://blog.csdn.net/tina_ttl/article/details/51372604 如果你满足Docker for Windows的环境条件了,那么首先检查电脑的虚拟化开启了没有:进入任务管理器(ctrl+alt+delete),点击性能->cpu ,查看虚拟化是否已启用,如果虚拟化是已禁用,那么你需要重启电脑进入bios开启虚拟化(我们的发的笔记本cpu都是支持虚拟化的,重启时进入bios按esc -> 再按f12 -> 去开启虚拟化) 开启虚拟化重启后,进入任务管理器看虚拟化是否已启用。 然后再是进入电脑的控制面板->程序->启用或关闭Windows功能->把Hyper-v勾上,启用后电脑会重启,后面就可以下载并安装Docker for Windows了。 进入网址https://docs.docker.com/docker-for-windows/install/#download-docker-for-windows 下载并安装。我安装的是稳定版。安装过程没什么要注意的。 启动以后会出现在桌面的右下角区域,鼠标放上去以后显示Docker is running表示启动成功,第一次安装启用好像是会弹出个Docker Cloud登录界面,去注册然后登录,使用和git有点类似,可以pull图像等等 检查Docker,Compose和Machine的版本 检查版本信息,并确保docker命令正常工作 运行docker run hello-world以测试从Docker Hub中拉取图像并启动容器 使用命令docker run -it ubuntu bash运行一个Ubuntu容器,我之前已经拉取过这个容器了,大概是几十兆吧,所以直接启用了,输入exit命令停止容器 运行命令docker run -d -p 80:80 –name webserver nginx 启动一个Dockerized webserver 会下载nginx容器图像并启动它,然后再打开浏览器键入http://localhost 运行docker ps 命令,检查容器的详细信息 停止或移除容器和图像。如果你想停止网络服务器,输入:docker stop webserver然后重新启动docker start webserver。要使用单个命令停止并删除正在运行的容器,请键入: docker rm -f webserver。这将删除容器,但不是 nginx图像。您可以列出本地图像docker images。你可能想要保留一些图片,这样你就不必再从Docker Hub中取出它们了。要删除不再需要的图像,请使用docker rmi后跟图像ID或图像名称。例如docker rmi nginx 这将创建一个$PROFILE如果不存在,并将此行添加到文件中: Import-Module posh-docker 要检查文件是否已正确创建,或只需手动编辑,请在PowerShell中键入以下内容: Notepad $PROFILE 打开一个新的PowerShell会话。现在,当你键入的前几个字母后按Tab键,Docker命令(如开始,停止,运行及其选项)以及容器和映像名称现在都应该自动完成。 找到右下角的docker图标,右击选择settings进去 General:这里是设置docker开机自启,应用程序启动时检查更新,发布使用情况统计信息 Advanced:分配cpu数量与内存量 Daemon:Docker for windows10 可以配置阿里云镜像,到https://cr.console.aliyun.com/ 注册一个账户,登录进去后再列表选择加速器,把你的专属加速器地址复制粘贴到Daemon的Registry mirrors中 在过去,如果你要开始编写一个Python应用程序,你的第一步就是在你的机器上安装一个Python运行库。但是,这会造成您的机器上的环境必须满足一定条件以使您的应用程序可以运行。 使用Docker,你可以将一个可移植的Python运行库作为一个映像,不需要安装。然后,您的构建可以将基础Python镜像与应用程序代码一起包括在内,确保您的应用程序,依赖项和运行时都一起运行。 这些可移植的镜像是由一个叫做Dockerfile的东西来定义的 新建目录文件创建一个空目录,我取名叫docker,然后分别在里面新建三个文件:Dockerfile,app.py,requirements.txt 三个文件中的内容分别设计为: 1.Dockerfile:# Use an official Python runtime as a parent imageFROM python:2.7-slim# Set the working directory to /appWORKDIR /app# Copy the current directory contents into the container at /appADD . /app# Install any needed packages specified in requirements.txtRUN pip install --trusted-host pypi.python.org -r requirements.txt# Make port 80 available to the world outside this containerEXPOSE 80# Define environment variableENV NAME World# Run app.py when the container launchesCMD ["python", "app.py"]2.app.py: from flask import Flask from redis import Redis, RedisError import os import socket# Connect to Redisredis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)app = Flask(__name__)@app.route("/")def hello(): try: visits = redis.incr("counter") except RedisError: visits = "cannot connect to Redis, counter disabled" html = "Hello {name}!" \ "Hostname: {hostname}" \ "Visits: {visits}" return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)if __name__ == "__main__": app.run(host='0.0.0.0', port=80)3. requirements.txt: Flask Redis登录后复制构建镜像在docker目录下打开cmd.exe运行命令(确保能够找到Dockerfile文件,镜像取名叫friendlyhello): docker build -t friendlyhello . ps:千万不要落了上面那行后面的那个点,曾经入过坑的。。命令包括后面的那个点 然后再执行命令: docker images 运行镜像程序: docker run -p 4000:80 friendlyhello 可以看到Python正在为应用程序提供消息的http://0.0.0.0:80。但是,这个消息来自容器内部,它不知道我们将该容器的端口80映射到4000,从而打开URL: http://localhost:4000 首先在接着上面的操作步骤后按下ctrl+c在终端退出,这并不意味着镜像停止运行了 键入docker container ls 列出正在运行的容器 运行命令: docker container stop 停止容器。否则,在下一步中重新运行容器时,将会收到错误响应。 前面已经说过了,docker和git的操作有类似之处,所以docker也 有远程仓库,如果前面已经注册过并登录了docker cloud,那么 访问网址:https://hub.docker.com 在里面创建存储库,否则先 注册吧。 前面在本地创建了一个friendlyhello的镜像,现在要把它push到 自己的docker hub的存储库中去,首先: 1. 登录docker hub (我已经登录过了。。再登录一次吧) 在分布式应用程序中,应用程序的不同部分被称为“服务”。例如,想象一个视频共享站点,它可能包括用于将应用程序数据存储在数据库中的服务,用于用户上传东西的视频转码服务,为前端服务等等。 服务实际上只是“生产中的容器”。服务只运行一个镜像,但它编码镜像运行的方式 - 应该使用哪个端口,容器应该运行多少个副本,以便服务具有所需的容量,以及等等。缩放服务会更改运行该软件的容器实例的数量,从而为流程中的服务分配更多的计算资源。 使用Docker平台定义,运行和扩展服务非常简单 - 只需编写一个docker-compose.yml文件即可。 创建一个docker-compose.yml文件
拉取的是上个步骤中的存储库的tag。 运行该镜像的5个实例作为一个服务调用web,限制每个使用,最多10%的CPU(跨所有核心)和50MB的RAM。 如果一个失败,立即重新启动容器。 将主机上的端口80映射到web端口80。 指导web容器通过一个负载平衡的网络共享80端口webnet。(在内部,容器本身将web在临时端口上发布到 端口80)。 webnet使用默认设置(这是一个负载平衡覆盖网络)定义网络。 运行新的负载均衡应用程序先运行命令:docker swarm init 比如更改docker-compose.yml中的replicas值,保存更改并重新运行docker stack deploy命令来更新应用程序: 关闭应用程序docker stack rm getstartedlab swarm是运行Docker并加入到一个集群中的一组机器。但是现在它们将由群集管理器在群集上执行。群体中的机器可以是物理的或虚拟的。加入群体后,他们被称为节点。 Swarm管理人员可以使用多种策略来运行容器,比如“最空的节点”(emptiest node) - 它使用容器填充最少使用的机器。或“全局”,这确保了每台机器只能得到指定容器的一个实例。您可以指示swarm manager在Compose文件中使用这些策略。 群体管理者是群体中唯一可以执行你的命令的机器,或者授权其他机器作为工作者加入群体。工人提供能力,并没有权力告诉任何其他机器可以做什么和不可以做什么。 到目前为止,之前都是在本地机器上以单主机模式使用Docker。但是Docker也可以切换到群集模式,这就是使用群集的原因。启用群模式使当前机器成为群管理器。则Docker将运行您正在管理的群集上执行的命令,而不仅仅是在当前的机器上。 创建一个集群一个群由多个节点组成,可以是物理机或虚拟机。基本的概念很简单:运行docker swarm init启用群模式,使当前的机器成为群管理器,然后docker swarm join在其他机器上运行 ,让它们作为工人加入群体。下面将使用虚拟机快速创建一个双机群集,并将其变成群集。 步骤: 1. 以管理员运行cmd.exe 这里必须是管理员运行,不然后续操作权限不够 先使用命令docker-machine ssh myvm3 以管理员身份再运行一个cmd.exe.然后运行命令:docker-machine ssh myvm4
附离开群命令:docker swarm leave 在集群上部署应用程序docker-machine为swarm管理器配置一个shell 运行命令:docker-machine env myvm3 在swarm管理器上部署应用程序 以部署我们之前docker-compose.yml服务为例 浏览器访问集群的网址: 如图红框框所示,浏览器上访问其中的任何一个,然后刷新,将看到6个可能的容器ID,它们都是随机循环的,展示了负载平衡 推荐学习:《docker视频教程》 以上就是Win10中docker的安装与使用(图文详解)的详细内容,更多请关注php中文网其它相关文章! |
CopyRight 2018-2019 实验室设备网 版权所有 |