Win10中docker的安装与使用(图文详解)

网友投稿 1825 2022-10-11

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Win10中docker的安装与使用(图文详解)

本篇文章给大家带来了关于怎样在win10上安装与使用docker的相关知识,希望对大家有帮助。

1.docker的安装

环境准备

Docker for Windows是一个Docker Community Edition(CE)应用程序。Docker for Windows安装包包含了在Windows系统上运行Docker所需的一切。如果你不想装虚拟机,想直接在你的Windows操作系统中安装与学习使用docker,那么你首先得查看你的系统是否满足Docker for Windows的安装与使用要求。

下载安装

2.docker的入门

开始使用

3.docker的常用配置

在PowerShell中设置 tab键自动补全(其实用的都是cmd.exe)

启动一个的PowerShell(即以管理员身份运行)。搜索PowerShell,右键单击,然后选择以管理员身份运行。在PowerShell提示符下键入: Set-ExecutionPolicy RemoteSigned检查策略设置是否正确,运行:get-executionpolicy 应该返回RemoteSigned。安装posh-dockerPowerShell模块以自动完成Docker命令,键入:Install-Module posh-docker或者,要仅为当前用户安装模块,键入: Install-Module -Scope CurrentUser posh-docker安装完成后,只能为当前PowerShell启用自动完成功能,输入:Import-Module posh-docker为了在所有PowerShell会话中保持Tab完成状态$PROFILE,请在PowerShell提示符处输入:

if (-Not (Test-Path $PROFILE)) { New-Item $PROFILE –Type File –Force}Add-Content $PROFILE "`nImport-Module posh-docker"

Settings

找到右下角的docker图标,右击选择settings进去

4.用Dockerfile定义一个镜像

在过去,如果你要开始编写一个Python应用程序,你的第一步就是在你的机器上安装一个Python运行库。但是,这会造成您的机器上的环境必须满足一定条件以使您的应用程序可以运行。 使用Docker,你可以将一个可移植的Python运行库作为一个映像,不需要安装。然后,您的构建可以将基础Python镜像与应用程序代码一起包括在内,确保您的应用程序,依赖项和运行时都一起运行。 这些可移植的镜像是由一个叫做Dockerfile的东西来定义的

新建目录文件

三个文件中的内容分别设计为:

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 Flaskfrom redis import Redis, RedisErrorimport osimport 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:FlaskRedis

构建镜像

停止容器运行

5.联系Docker Hub的常用操作

登录到Docker Hub

push镜像

6.服务

在分布式应用程序中,应用程序的不同部分被称为“服务”。例如,想象一个视频共享站点,它可能包括用于将应用程序数据存储在数据库中的服务,用于用户上传东西的视频转码服务,为前端服务等等。 服务实际上只是“生产中的容器”。服务只运行一个镜像,但它编码镜像运行的方式 - 应该使用哪个端口,容器应该运行多少个副本,以便服务具有所需的容量,以及等等。缩放服务会更改运行该软件的容器实例的数量,从而为流程中的服务分配更多的计算资源。 使用Docker平台定义,运行和扩展服务非常简单 - 只需编写一个docker-compose.yml文件即可。

创建一个docker-compose.yml文件

version: "3"services: web: # replace username/repo:tag with your name and image details image: 15433/wangliguo:test deploy: replicas: 5 resources: limits: cpus: "0.1" memory: 50M restart_policy: condition: on-failure ports: - "80:80" networks: - webnetnetworks: webnet:

拉取的是上个步骤中的存储库的tag。 运行该镜像的5个实例作为一个服务调用web,限制每个使用,最多10%的CPU(跨所有核心)和50MB的RAM。 如果一个失败,立即重新启动容器。 将主机上的端口80映射到web端口80。 指导web容器通过一个负载平衡的网络共享80端口webnet。(在内部,容器本身将web在临时端口上发布到 端口80)。 webnet使用默认设置(这是一个负载平衡覆盖网络)定义网络。

运行新的负载均衡应用程序

更改应用程序

关闭应用程序和群

7.集群

了解集群

swarm是运行Docker并加入到一个集群中的一组机器。但是现在它们将由群集管理器在群集上执行。群体中的机器可以是物理的或虚拟的。加入群体后,他们被称为节点。 Swarm管理人员可以使用多种策略来运行容器,比如“最空的节点”(emptiest node) - 它使用容器填充最少使用的机器。或“全局”,这确保了每台机器只能得到指定容器的一个实例。您可以指示swarm manager在Compose文件中使用这些策略。 群体管理者是群体中唯一可以执行你的命令的机器,或者授权其他机器作为工作者加入群体。工人提供能力,并没有权力告诉任何其他机器可以做什么和不可以做什么。 到目前为止,之前都是在本地机器上以单主机模式使用Docker。但是Docker也可以切换到群集模式,这就是使用群集的原因。启用群模式使当前机器成为群管理器。则Docker将运行您正在管理的群集上执行的命令,而不仅仅是在当前的机器上。

创建一个集群

初始化群并添加节点

docker swarm join --token SWMTKN-1-0csyw4yz6uxob90h0b8ejoimimrgisiuy9t2ugm8c1mxfvxf99-7q7w5jw1mrjk1jlri2bcgqmu8 10.211.106.194:2377

附离开群命令:docker swarm leave

在集群上部署应用程序

比如说如果修改了docker-compose.yml文件后,执行命令:docker stack deploy -c docker-compose.yml getstartedlab再次运行以部署这些更改即可比如说前面提到的移除应用程序:docker stack rm getstartedlab离开群:docker swarm leave –force重新启动已停止的虚拟机,执行:docker-machine start

推荐学习:《docker视频教程》

php入门到就业线上直播课:查看学习

上一篇:docker中service是什么意思
下一篇:linux下cp命令的用法是什么
相关文章

 发表评论

暂时没有评论,来抢沙发吧~