当前位置: 首页 > news >正文

网站开发要用什么工具软件做公众号链接的网站

网站开发要用什么工具软件,做公众号链接的网站,女生学动漫制作专业,接平面设计私活的网站Docker 安装Docker 首先#xff0c;您需要在Linux机器上安装Docker。如果您不使用Linux#xff0c;则需要启动一个Linux虚拟机(VM)并在该虚拟机中运行Docker。如果你使用的是Mac或Windows系统#xff0c;并按照指令安装Docker, Docker将为你建立一个虚拟机#xff0c;并在…Docker 安装Docker 首先您需要在Linux机器上安装Docker。如果您不使用Linux则需要启动一个Linux虚拟机(VM)并在该虚拟机中运行Docker。如果你使用的是Mac或Windows系统并按照指令安装Docker, Docker将为你建立一个虚拟机并在该虚拟机中运行Docker守护进程。Docker客户端可执行文件将在您的主机操作系统上可用并将与虚拟机中的守护进程通信。 要安装Docker请按照您的特定操作系统http://docs.docker.com/engine/ installation/的说明进行安装。安装完成后您可以使用Docker客户端可执行文件运行各种Docker命令。例如您可以尝试从Docker Hub中提取并运行一个现有的image Docker注册表其中包含许多知名软件包的现成容器image。其中之一是busybox image您将使用它来运行一个简单的echo“Hello world”命令。 如果您不熟悉busybox它是一个可执行文件它结合了许多标准的UNIX命令行工具如echo、ls、gzip等。除了busybox images您还可以使用任何其他成熟的操作系统容器images例如 Fedora、Ubuntu或其他类似的镜像只要它包含echo可执行文件。 如何运行busybox映像?您不需要下载或安装任何东西。使用docker run命令并指定要下载和运行的映像以及(可选地)要执行的命令如下面的Listing 2: 在你的例子中应用程序是一个单一的可执行程序(busybox)但它也可能是一个具有许多依赖项的极其复杂的应用程序。set up和运行应用程序的整个过程将完全相同。同样重要的是应用程序是在容器中执行的与机器上运行的所有其他进程完全隔离。 docker run发生了什么 首先Docker检查busybox:latest映像是否已经存在于您的本地机器上。它不是所以Docker从Docker Hub注册表http://docker.io中提取了它。在映像下载到您的机器之后Docker从该映像创建了一个容器并在其中运行命令。echo命令将文本打印到STDOUT然后进程终止容器停止。 看Figure 2.1 运行其他images 运行其他现有容器映像的方式与运行busybox映像的方式大致相同。实际上它通常更简单因为您通常不需要像在示例中那样指定要执行什么命令(echo Hello world)。应该执行的命令通常包含在映像本身中但是如果需要也可以覆盖它。 $ docker run image 给image打tag 所有的软件包都会更新所以一个软件包通常不止一个版本。Docker支持以相同的名称拥有相同映像的多个版本或变体。每个变体必须有一个唯一的标记。 $ docker run image:tag创建Dockerfile 要将应用程序打包成镜像首先需要创建一个名为Dockerfile的文件其中包含Docker在构建镜像时执行的指令列表。Dockerfile需要与app.js(相当于你的main文件或者启动类)文件在同一个目录下并且应该包含如下清单所示的命令。 FROM行定义了将用作起点的容器映像(要在其上构建的基本映像)。 在本例中使用的是节点容器映像标记7。 在第二行中将本地目录中的app.js文件以相同的名称(app.js)添加到图像中的根目录中。 最后在第三行中定义在运行映像时应该执行什么命令。在您的示例中命令是node app.js。 选择基本图像base image node:7 你可能想知道为什么我们选择这个特定的图像作为你的基础。因为你的应用程序是一个node .js应用程序你需要你的镜像包含节点二进制可执行文件来运行应用程序。你可以使用任何包含该二进制文件的镜像或者你甚至可以使用Linux发行版基础镜像如fedora或ubuntu并安装 在构建映像时将Node.js装入容器。但由于节点映像是专门为运行node .js应用而制作的并且包含了运行应用所需的所有内容因此您将使用它作为基础映像。 或者你也可以选择Ubuntu Golang等其他base-image 创建Container 现在你有了Dockerfile和app.js文件你就有了构建镜像所需的一切。要构建它运行以下Docker命令 $ docker build -t kubia .Figure2.2显示了构建过程中发生的情况。您告诉Docker基于当前目录的内容构建一个名为kubia的映像(注意build命令末尾的点)。Docker将在目录中查找Dockerfile并根据文件中的说明构建镜像。 如何构建image 构建过程不是由Docker客户端执行的。相反整个目录的内容被上传到Docker守护进程并在那里构建镜像。 客户机和守护进程根本不需要在同一台机器上。如果你正在使用Docker在非linux操作系统上客户端在您的主机操作系统上但守护进程在虚拟机中运行。因为构建目录中的所有文件都被上传到守护进程如果它包含许多大文件并且守护进程不在本地运行则上传可能需要更长的时间。 TIP:不要在构建目录中包含任何不必要的文件因为它们会减慢构建过程——尤其是当Docker守护进程在远程机器上时。 在构建过程中Docker将首先从公共映像存储库(Docker Hub)中提取基本映像(node:7)除非该映像已经被提取并存储在您的机器上。 image不是单个的、大的二进制 blob而是由多个层组成的您可能已经在运行 busybox 示例时注意到了这一点(有多个 Pull complete 行每个层一个)。 例如如果你基于同一个基础image(例如本例中的node:7)创建多个images那么所有组成基础image的层只会被存储一次而且当拉取一个image时Docker会单独下载每个层有些层可能已经存储在你的机器上所以Docker只会下载那些没有存储的层。 你可能认为每个 Dockerfile 只创建一个新层但事实并非如此。 在构建image时将为每个单独的命令创建一个新层。 在Dockerfile中。在构建image期间在拉出基础的所有层之后 Docker会在它们上面创建一个新层并将app.js文件添加进去。 然后它将创建另一个层该层将指定在运行image时应该执行的命令。最后一层将被标记为kubia:latest。这是Figure2.3所示它还显示了另一个名为other:latest的image将如何使用与您自己的image相同的Node.js image层。 构建过程完成后本地存储了一个新image。您可以通过让Docker列出所有本地存储的image来查看它如下面的Listing所示。 Running the container image # 以kubia作为image 创建 一个kubia-container # 本地机器上的8080端口将映射到容器内的8080端口(-p 8080:8080选项) # 通过http://localhost:8080访问该应用程序。$ docker run --name kubia-container -p 8080:8080 -d kubia列出所有正在运行的容器 在当前容器中运行shell # -i 它确保STDIN保持打开状态。在shell中输入命令时需要它。 # -t 分配一个伪终端(TTY)。 $ docker exec -it kubia-container bash 进入容器查看进程 停止或者移除容器 $ docker stop kubia-container $ docker rm kubia-container创建Kubernetes集群 使用Minikub运行本地单节点Kubernetes集群 安装MINIKUBE Minikube是一个单独的二进制文件需要下载并放到您的路径上。它适用于OSX、Linux和Windows。要安装它最好从GitHub上的Minikube存储库(http://github.com/kubernetes/minikube)开始并按照那里的说明进行安装。 例如在OSX和Linux上Minikube可以通过一个命令下载和设置。对于OSX如下 $ curl -Lo minikube https://storage.googleapis.com/minikube/releases/ ➥ v0.23.0/minikube-darwin-amd64 chmod x minikube sudo mv minikube ➥ /usr/local/bin/ 在Linux上您可以下载不同的版本(URL中将“darwin”替换为“Linux”)。在Windows上您可以手动下载该文件将其重命名为minikube.exe并将其放在您的路径中。Minikube在虚拟机中通过VirtualBox或KVM运行Kubernetes因此您还需要安装其中一个然后才能启动Minikube集群。 在本地安装了Minikube之后可以使用以下清单中的命令立即启动Kubernetes集群。 安装kubernetes客户端(kubectl) 要与Kubernetes交互还需要kubectl CLI客户端。同样您所需要做的就是下载它并将其放在您的路径上。例如OSX的最新稳定版本可以使用以下命令下载和安装 $ curl -LO https://storage.googleapis.com/kubernetes-release/release ➥ /$(curl -s https://storage.googleapis.com/kubernetes-release/release ➥ /stable.txt)/bin/darwin/amd64/kubectl ➥ chmod x kubectl ➥ sudo mv kubectl /usr/local/bin/ 要下载Linux版本的kubectl请将URL中的darwin替换为Linux。对于Windows将其替换为Windows并在末尾添加.exe。 检查cluster是否up $ kubectl cluster-info Kubernetes master is running at https://192.168.99.100:8443 KubeDNS is running at https://192.168.99.100:8443/api/v1/proxy/... kubernetes-dashboard is running at https://192.168.99.100:8443/api/v1/... 创建3-nodes的clsuter $ gcloud container clusters create kubia --num-nodes 3 ➥ --machine-type f1-micro Creating cluster kubia...done. Created [https://container.googleapis.com/v1/projects/kubia1- 1227/zones/europe-west1-d/clusters/kubia]. kubeconfig entry generated for kubia. NAME ZONE MST_VER MASTER_IP TYPE NODE_VER NUM_NODES STATUS kubia eu-w1d 1.5.3 104.155.92.30 f1-micro 1.5.3 3 RUNNING 下图是一个集群交互的草图 $ kubectl get nodes NAME STATUS AGE VERSION gke-kubia-85f6-node-0rrx Ready 1m v1.5.3 gke-kubia-85f6-node-heo1 Ready 1m v1.5.3 gke-kubia-85f6-node-vs9f Ready 1m v1.5.3 查看当前node状态 $ kubectl describe node gke-kubia-85f6-node-0rrx将image部署在kubernetes上 尝试运行您之前创建并推送到Docker Hub的image。下面是如何在Kubernetes中运行它 $ kubectl run kubia --imageluksa/kubia --port8080 --generatorrun/v1 replicationcontroller kubia created 什么是pod pod是一组由一个或多个紧密相关的容器它们总是在相同的工作节点和相同的Linux名称空间中一起运行。每个pod就像一台独立的机器有自己的IP、主机名、进程等等运行单个应用程序。 应用程序可以是在单个容器中运行的单个进程也可以是一个主应用程序进程和其他支持进程每个进程在自己的容器中运行。 为了更好地理解容器、pod和节点之间的关系请查看Figure2.5。如您所见每个pod都有自己的IP并包含一个或多个容器每个容器运行一个应用程序进程。pod分布在不同的工作节点上。 # 查看所有pods $ kubectl get pods NAME READY STATUS RESTARTS AGE kubia-4jfyf 0/1 Pending 0 1m kubelet-09fyf 1/1 Running 0 10m 下图是Kubernetes中运行容器image必须执行的步骤 首先将构建好的image推送到Docker Hub这个推送是为了你的worker nodes 去使用本地的话你可以直接放在本地仓库 当您运行kubectl命令时它通过向Kubernetes API服务器发送REST HTTP请求在集群中创建了一个新的ReplicationController对象。 ReplicationController创建一个新的pod然后由Scheduler将其调度到其中一个工作节点 该节点上的Kubelet看到pod被调度到它并指示Docker从注册表中提取指定的映像因为该映像在本地不可用。 每个pod都有自己的IP地址但是这个地址位于集群内部不能从集群外部访问。为了让pod能从外面进入你要通过一个服务对象。您将创建一个LoadBalancer类型的特殊服务因为如果您创建一个常规服务(一个ClusterIP服务)比如pod那么它也只能从集群内部访问。通过创建loadbalancer类型的服务将创建一个外部负载平衡器您可以通过负载平衡器的公共IP连接到pod。 $ kubectl expose rc kubia --typeLoadBalancer --name kubia-http service kubia-http exposed 查看服务 $ kubectl get services NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes 10.3.240.1 none 443/TCP 34m kubia-http 10.3.246.185 pending 8080:31348/TCP 4s$ kubectl get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes 10.3.240.1 none 443/TCP 35m kubia-http 10.3.246.185 104.155.74.57 8080:31348/TCP 1m 要从集群外部访问该pod您告诉Kubernetes将由该ReplicationController管理的所有pod公开为一个服务。这三个要素的大致情况见Figure2.7 水平扩展应用程序 使用Kubernetes的主要好处之一是可以简单地扩展部署将运行实例的数量增加到3个。 $ kubectl get replicationcontrollers NAME DESIRED CURRENT AGE kubia 1 1 17m$ kubectl scale rc kubia --replicas3 replicationcontroller kubia scaled$ kubectl get rc NAME DESIRED CURRENT READY AGE kubia 3 3 2 17m$ kubectl get pods NAME READY STATUS RESTARTS AGE kubia-hczji 1/1 Running 0 7s kubia-iq9y6 0/1 Pending 0 7s kubia-4jfyf 1/1 Running 0 18m 图2.8显示了系统的新状态你仍然有单一的服务和单一的RC但是现在有三个pod实例都由ReplicationController管理。该服务不再将所有请求发送到单个pod而是将它们分散到所有三个pod中。 $ kubectl describe pod kubia-hczji Name: kubia-hczji Namespace: default Node: gke-kubia-85f6-node-vs9f/10.132.0.3 Start Time: Fri, 29 Apr 2016 14:12:33 0200 Labels: runkubia Status: Running IP: 10.1.0.2 Controllers: ReplicationController/kubia Containers: ... Conditions:Type StatusReady True Volumes: ... Events: ...$ kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE kubia-hczji 1/1 Running 0 7s 10.1.0.2 gke-kubia-85... $ kubectl cluster-info | grep dashboard kubernetes-dashboard is running at https://104.155.108.191/api/v1/proxy/ ➥ namespaces/kube-system/services/kubernetes-dashboard 未完待续。。。。。
http://www.yayakq.cn/news/4907/

相关文章:

  • 湛江建设厅网站广州做网站做得比较好
  • 高级营销网站建设只需1200元网址英文
  • 可以自学网站开发个人求职网站设计
  • 沧州网站艰涩很广州白云住房和建设局网站
  • 乐昌门户网站中国十大设计院
  • 国家允许哪几个网站做顺风车郑州发布官网
  • 洛阳住房和城乡建设部网站建筑工程发布网站
  • 制作网站的步骤廊坊公司快速建站
  • 网站关键词如何快速上首页哈尔滨大型网站建设电话
  • 网站架构计划书网站收录代做
  • wordpress怎么删除预建网站服务器销售网站源码
  • 网站建设策划方案t怎么更换wordpress主题
  • 搬家公司怎么做网站免费商品列表网页模板源代码
  • 工程师报考网站wordpress删除分类
  • iis 网站模板下载seo关键词查询工具
  • 查看网站后台登陆地址医药做网站
  • 如何制作网站后台管理系统网站分页js
  • 织梦网站搭建高端酒店开发
  • 易烊千玺个人网站深圳搜索优化排名公司
  • 本人已履行网站备案信息地方电商门户网站如何建设方案
  • 我的网站怎么做房屋装修图片
  • 设计素材网站能挣钱吗如何添加wordpress主题
  • 行政机关网站建设定州网站建设
  • 西安建设厅网站怎么创建视频网站
  • 建筑公司网站能显示二级建造师报名吗网站开发工程师是什么意思
  • 建设银行信用卡网站首页网站目录架构
  • 河北三河建设局网站如何在公司服务器建个内部 网站
  • 稷山网站建设如何将vs做的网站备份出来
  • 河南企业做网站具有价值的网站制作
  • 广州高端网站制作公司哪家好网站开发一般用