亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
Compose About versions and upgrading (Compose) ASP.NET Core + SQL Server on Linux (Compose) CLI environment variables (Compose) Command-line completion (Compose) Compose(組成) Compose command-line reference(組合命令行參考) Control startup order (Compose) Django and PostgreSQL (Compose) Docker stacks and distributed application bundles (Compose) docker-compose build(docker-compose構(gòu)建) docker-compose bundle docker-compose config docker-compose create docker-compose down docker-compose events docker-compose exec docker-compose help docker-compose images docker-compose kill docker-compose logs docker-compose pause docker-compose port docker-compose ps docker-compose pull docker-compose push docker-compose restart docker-compose rm docker-compose run docker-compose scale docker-compose start docker-compose stop docker-compose top docker-compose unpause docker-compose up Environment file (Compose) Environment variables in Compose Extend services in Compose Frequently asked questions (Compose) Getting started (Compose) Install Compose Link environment variables (deprecated) (Compose) Networking in Compose Overview of Docker Compose Overview of docker-compose CLI Quickstart: Compose and WordPress Rails and PostgreSQL (Compose) Sample apps with Compose Using Compose in production Using Compose with Swarm Engine .NET Core application (Engine) About images, containers, and storage drivers (Engine) Add nodes to the swarm (Engine) Apply custom metadata (Engine) Apply rolling updates (Engine) apt-cacher-ng Best practices for writing Dockerfiles (Engine) Binaries (Engine) Bind container ports to the host (Engine) Breaking changes (Engine) Build your own bridge (Engine) Configure container DNS (Engine) Configure container DNS in user-defined networks (Engine) CouchDB (Engine) Create a base image (Engine) Create a swarm (Engine) Customize the docker0 bridge (Engine) Debian (Engine) Default bridge network Delete the service (Engine) Deploy a service (Engine) Deploy services to a swarm (Engine) Deprecated Engine features Docker container networking (Engine) Docker overview (Engine) Docker run reference (Engine) Dockerfile reference (Engine) Dockerize an application Drain a node (Engine) Engine FAQ (Engine) Fedora (Engine) Get started (Engine) Get started with macvlan network driver (Engine) Get started with multi-host networking (Engine) How nodes work (Engine) How services work (Engine) Image management (Engine) Inspect the service (Engine) Install Docker (Engine) IPv6 with Docker (Engine) Join nodes to a swarm (Engine) Legacy container links (Engine) Lock your swarm (Engine) Manage nodes in a swarm (Engine) Manage sensitive data with Docker secrets (Engine) Manage swarm security with PKI (Engine) Manage swarm service networks (Engine) Migrate to Engine 1.10 Optional Linux post-installation steps (Engine) Overview (Engine) PostgreSQL (Engine) Raft consensus in swarm mode (Engine) Riak (Engine) Run Docker Engine in swarm mode Scale the service (Engine) SDKs (Engine) Select a storage driver (Engine) Set up for the tutorial (Engine) SSHd (Engine) Storage driver overview (Engine) Store service configuration data (Engine) Swarm administration guide (Engine) Swarm mode key concepts (Engine) Swarm mode overlay network security model (Engine) Swarm mode overview (Engine) Understand container communication (Engine) Use multi-stage builds (Engine) Use swarm mode routing mesh (Engine) Use the AUFS storage driver (Engine) Use the Btrfs storage driver (Engine) Use the Device mapper storage driver (Engine) Use the OverlayFS storage driver (Engine) Use the VFS storage driver (Engine) Use the ZFS storage driver (Engine) Engine: Admin Guide Amazon CloudWatch logs logging driver (Engine) Bind mounts (Engine) Collect Docker metrics with Prometheus (Engine) Configuring and running Docker (Engine) Configuring logging drivers (Engine) Control and configure Docker with systemd (Engine) ETW logging driver (Engine) Fluentd logging driver (Engine) Format command and log output (Engine) Google Cloud logging driver (Engine) Graylog Extended Format (GELF) logging driver (Engine) Journald logging driver (Engine) JSON File logging driver (Engine) Keep containers alive during daemon downtime (Engine) Limit a container's resources (Engine) Link via an ambassador container (Engine) Log tags for logging driver (Engine) Logentries logging driver (Engine) PowerShell DSC usage (Engine) Prune unused Docker objects (Engine) Run multiple services in a container (Engine) Runtime metrics (Engine) Splunk logging driver (Engine) Start containers automatically (Engine) Storage overview (Engine) Syslog logging driver (Engine) tmpfs mounts Troubleshoot volume problems (Engine) Use a logging driver plugin (Engine) Using Ansible (Engine) Using Chef (Engine) Using Puppet (Engine) View a container's logs (Engine) Volumes (Engine) Engine: CLI Daemon CLI reference (dockerd) (Engine) docker docker attach docker build docker checkpoint docker checkpoint create docker checkpoint ls docker checkpoint rm docker commit docker config docker config create docker config inspect docker config ls docker config rm docker container docker container attach docker container commit docker container cp docker container create docker container diff docker container exec docker container export docker container inspect docker container kill docker container logs docker container ls docker container pause docker container port docker container prune docker container rename docker container restart docker container rm docker container run docker container start docker container stats docker container stop docker container top docker container unpause docker container update docker container wait docker cp docker create docker deploy docker diff docker events docker exec docker export docker history docker image docker image build docker image history docker image import docker image inspect docker image load docker image ls docker image prune docker image pull docker image push docker image rm docker image save docker image tag docker images docker import docker info docker inspect docker kill docker load docker login docker logout docker logs docker network docker network connect docker network create docker network disconnect docker network inspect docker network ls docker network prune docker network rm docker node docker node demote docker node inspect docker node ls docker node promote docker node ps docker node rm docker node update docker pause docker plugin docker plugin create docker plugin disable docker plugin enable docker plugin inspect docker plugin install docker plugin ls docker plugin push docker plugin rm docker plugin set docker plugin upgrade docker port docker ps docker pull docker push docker rename docker restart docker rm docker rmi docker run docker save docker search docker secret docker secret create docker secret inspect docker secret ls docker secret rm docker service docker service create docker service inspect docker service logs docker service ls docker service ps docker service rm docker service scale docker service update docker stack docker stack deploy docker stack ls docker stack ps docker stack rm docker stack services docker start docker stats docker stop docker swarm docker swarm ca docker swarm init docker swarm join docker swarm join-token docker swarm leave docker swarm unlock docker swarm unlock-key docker swarm update docker system docker system df docker system events docker system info docker system prune docker tag docker top docker unpause docker update docker version docker volume docker volume create docker volume inspect docker volume ls docker volume prune docker volume rm docker wait Use the Docker command line (Engine) Engine: Extend Access authorization plugin (Engine) Docker log driver plugins Docker network driver plugins (Engine) Extending Engine with plugins Managed plugin system (Engine) Plugin configuration (Engine) Plugins API (Engine) Volume plugins (Engine) Engine: Security AppArmor security profiles for Docker (Engine) Automation with content trust (Engine) Content trust in Docker (Engine) Delegations for content trust (Engine) Deploying Notary (Engine) Docker security (Engine) Docker security non-events (Engine) Isolate containers with a user namespace (Engine) Manage keys for content trust (Engine) Play in a content trust sandbox (Engine) Protect the Docker daemon socket (Engine) Seccomp security profiles for Docker (Engine) Secure Engine Use trusted images Using certificates for repository client verification (Engine) Engine: Tutorials Engine tutorials Network containers (Engine) Get Started Part 1: Orientation Part 2: Containers Part 3: Services Part 4: Swarms Part 5: Stacks Part 6: Deploy your app Machine Amazon Web Services (Machine) Digital Ocean (Machine) docker-machine active docker-machine config docker-machine create docker-machine env docker-machine help docker-machine inspect docker-machine ip docker-machine kill docker-machine ls docker-machine provision docker-machine regenerate-certs docker-machine restart docker-machine rm docker-machine scp docker-machine ssh docker-machine start docker-machine status docker-machine stop docker-machine upgrade docker-machine url Driver options and operating system defaults (Machine) Drivers overview (Machine) Exoscale (Machine) Generic (Machine) Get started with a local VM (Machine) Google Compute Engine (Machine) IBM Softlayer (Machine) Install Machine Machine Machine CLI overview Machine command-line completion Machine concepts and help Machine overview Microsoft Azure (Machine) Microsoft Hyper-V (Machine) Migrate from Boot2Docker to Machine OpenStack (Machine) Oracle VirtualBox (Machine) Provision AWS EC2 instances (Machine) Provision Digital Ocean Droplets (Machine) Provision hosts in the cloud (Machine) Rackspace (Machine) VMware Fusion (Machine) VMware vCloud Air (Machine) VMware vSphere (Machine) Notary Client configuration (Notary) Common Server and signer configurations (Notary) Getting started with Notary Notary changelog Notary configuration files Running a Notary service Server configuration (Notary) Signer configuration (Notary) Understand the service architecture (Notary) Use the Notary client
characters

  • 1:概況介紹

  • 2:集裝箱

  • 3:服務(wù)

  • 4:成群

  • 5:堆疊

  • 6:部署應(yīng)用程序

先決條件

  • 安裝Docker版本1.13或更高版本...

  • 獲取Docker撰寫。在Docker for Mac和Docker for Windows中,它已預(yù)先安裝,所以你很好用。在Linux系統(tǒng)上,您需要直接安裝它。在沒有Hyper-V的 Windows 10系統(tǒng)之前,使用Docker Toolbox。

  • 閱讀第1部分中的方向。

  • 了解如何在第二部分...

  • 確保您已經(jīng)發(fā)布了friendlyhello你創(chuàng)造的形象將其推送到注冊表.我們將在這里使用這個共享的圖像。

  • 確保你的圖像作為一個部署的容器。運(yùn)行此命令,在您的信息開槽username,repotagdocker run -p 80:80 username/repo:tag,然后訪問http://localhost/。

導(dǎo)言

在第3部分中,我們擴(kuò)展了我們的應(yīng)用程序并啟用了負(fù)載平衡。要做到這一點,我們必須在分布式應(yīng)用程序的層次結(jié)構(gòu)中提升一級:服務(wù)...

  • 堆疊

  • 服務(wù)你在這里

  • 容器(第2部分涵蓋)

關(guān)于服務(wù)

在分布式應(yīng)用程序中,應(yīng)用程序的不同部分被稱為“服務(wù)”。例如,如果您想象一個視頻共享站點,它可能包括一個用于將應(yīng)用程序數(shù)據(jù)存儲在數(shù)據(jù)庫中的服務(wù),一個用于在用戶上傳某些內(nèi)容后在后臺進(jìn)行視頻轉(zhuǎn)換的服務(wù),以及一個用于前端的服務(wù),等等。

服務(wù)實際上只是“生產(chǎn)中的容器”。服務(wù)只運(yùn)行一個映像,但它編碼了映像的運(yùn)行方式--應(yīng)該使用哪些端口,應(yīng)該運(yùn)行多少個容器副本,以便服務(wù)具有所需的容量,等等。擴(kuò)展服務(wù)會改變運(yùn)行該軟件的容器實例的數(shù)量,為流程中的服務(wù)分配更多的計算資源。

幸運(yùn)的是,使用Docker平臺定義、運(yùn)行和擴(kuò)展服務(wù)非常容易--只需編寫一個docker-compose.yml檔案。

你的第一次docker-compose.yml檔案

docker-compose.yml文件是一個YAML文件,它定義了Docker容器在生產(chǎn)中的行為方式。

docker-compose.yml

將此文件保存為docker-compose.yml你想去哪里都行。確保你有推送圖像你在第二部分到注冊表,并更新以下內(nèi)容.yml通過替換username/repo:tag還有你的圖像細(xì)節(jié)。

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

docker-compose.yml文件告訴Docker執(zhí)行以下操作:

  • 拉我們在第2步上傳的圖像從登記處。

  • 運(yùn)行該圖像的5個實例作為所調(diào)用的服務(wù)web,限制每個實例使用最多10%的CPU(跨所有核心)和50MB的RAM。

  • 如果容器失敗,立即重新啟動容器。

  • 將主機(jī)上的端口80映射到web是80號港口。

  • web通過稱為負(fù)載平衡的網(wǎng)絡(luò)指示容器共享端口80 webnet。(在內(nèi)部,容器本身將web在臨時端口上發(fā)布到80端口。)

  • webnet使用默認(rèn)設(shè)置定義網(wǎng)絡(luò)(這是一個負(fù)載平衡覆蓋網(wǎng)絡(luò))。

想知道撰寫文件版本,名稱和命令嗎?請注意,我們將撰寫文件設(shè)置為version: "3"。這基本上使得群集模式兼容。我們可以使用部署密鑰(僅適用于Compose文件格式版本3.x或更高版本)及其子選項,以便為每個服務(wù)(例如web)負(fù)載均衡和優(yōu)化性能。我們可以使用該docker stack deploy命令運(yùn)行該文件(也僅在Compose文件版本3.x及更高版本上受支持)。您可以使用docker-compose up運(yùn)行非swarm配置的版本3文件,但我們正在關(guān)注堆棧部署,因為我們正在構(gòu)建一個swarm示例。您可以將撰寫文件命名為任何您想使其對您具有邏輯意義的內(nèi)容; docker-compose.yml只是一個標(biāo)準(zhǔn)名稱。我們可以輕松地調(diào)用此文件docker-stack.yml 或者對我們的項目更具體的東西。

運(yùn)行您的新負(fù)載平衡應(yīng)用程序。

之前,我們可以使用docker stack deploy命令我們將首先運(yùn)行:

docker swarm init

::我們會理解這個命令的意思第4部分.如果你不跑docker swarm init您將得到一個錯誤,即“此節(jié)點不是群集管理器”。

現(xiàn)在讓我們運(yùn)行它。你必須給你的應(yīng)用程序一個名字。在這里,它被設(shè)置為getstartedlab*

docker stack deploy -c docker-compose.yml getstartedlab

我們的單個服務(wù)堆棧正在一個主機(jī)上運(yùn)行我們部署的映像的5個容器實例。讓我們調(diào)查一下。

獲取應(yīng)用程序中的一個服務(wù)的服務(wù)ID:

docker service ls

碼頭工人成群運(yùn)行的任務(wù),產(chǎn)生容器。任務(wù)有狀態(tài)和它們自己的ID:

docker service ps <service>

:Docker對Swarms的支持是使用一個名為SwarKit的項目構(gòu)建的。SwarkKit任務(wù)不需要是容器,但是Docker群集任務(wù)被定義為生成它們。

讓我們檢查一個任務(wù),并將輸出限制在容器ID上:

docker inspect --format='{{.Status.ContainerStatus.ContainerID}}' <task>

反之亦然,檢查容器ID,并提取任務(wù)ID:

docker inspect --format="{{index .Config.Labels \"com.docker.swarm.task.id\"}}" <container>

現(xiàn)在列出所有5個容器:

docker container ls -q

你可以跑curl http://localhost連續(xù)幾次,或者轉(zhuǎn)到瀏覽器中的那個URL,然后點擊刷新幾次。無論哪種方式,您都會看到容器ID的變化,演示負(fù)載平衡;對于每個請求,將以循環(huán)的方式選擇5個副本中的一個來響應(yīng)。

在此階段,容器可能需要30秒才能響應(yīng)HTTP請求。這并不表示Docker或S批的性能,而是一個未滿足的Redis依賴關(guān)系,我們將在本教程后面討論。

縮放應(yīng)用程序

您可以通過更改replicas價值docker-compose.yml,保存更改,并重新運(yùn)行docker stack deploy指揮:

docker stack deploy -c docker-compose.yml getstartedlab

Docker將進(jìn)行就地更新,無需先拆下堆?;驓⑺廊魏稳萜鳌?/p>

現(xiàn)在,重新運(yùn)行docker container ls -q若要重新配置已部署的實例,請執(zhí)行以下操作。如果您擴(kuò)展副本,那么會啟動更多的任務(wù),從而啟動更多的容器。

把應(yīng)用程序和蜂群取下來

docker stack rm*

docker stack rm getstartedlab

這會刪除應(yīng)用程序,但我們的單節(jié)點群仍在運(yùn)行(如圖所示docker node ls)。拿下群落docker swarm leave --force。

站起來和用Docker擴(kuò)展你的應(yīng)用程序一樣容易。您已經(jīng)在學(xué)習(xí)如何在生產(chǎn)中運(yùn)行容器方面邁出了一大步。接下來,您將學(xué)習(xí)如何在一組Docker機(jī)器上運(yùn)行這個應(yīng)用程序。

:編寫這樣的文件用于使用Docker定義應(yīng)用程序,并且可以使用碼頭云,或者在您選擇的任何硬件或云提供商上。碼頭企業(yè)版...

關(guān)于“第四部分”

簡述和備忘單(可選)

這是本頁所涵蓋內(nèi)容的終端記錄*

總而言之,在打字docker run很簡單的情況下,生產(chǎn)中容器的真正實現(xiàn)將其作為服務(wù)運(yùn)行。服務(wù)在Compose文件中編寫容器的行為,此文件可用于縮放,限制和重新部署我們的應(yīng)用程序??梢栽谶\(yùn)行時使用與啟動服務(wù)相同的命令對服務(wù)進(jìn)行更改:docker stack deploy。

在此階段需要研究的一些命令:

docker stack ls                                            # List stacks or apps
docker stack deploy -c <composefile> <appname>  # Run the specified Compose file
docker service ls                 # List running services associated with an app
docker service ps <service>                  # List tasks associated with an app
docker inspect <task or container>                   # Inspect task or container
docker container ls -q                                      # List container IDs
docker stack rm <appname>                             # Tear down an application
Previous article: Next article: