久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Docker service啟動(dòng)的方法是什么

共計(jì) 6044 個(gè)字符,預(yù)計(jì)需要花費(fèi) 16 分鐘才能閱讀完成。

這篇文章主要介紹“Docker service 啟動(dòng)的方法是什么”,在日常操作中,相信很多人在 Docker service 啟動(dòng)的方法是什么問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Docker service 啟動(dòng)的方法是什么”的疑惑有所幫助!接下來,請(qǐng)跟著丸趣 TV 小編一起來學(xué)習(xí)吧!

 Containers

######################### Dockerfile #########################
# Dockerfile 文件定義了 image 環(huán)境,工作空間,網(wǎng)絡(luò)端口,執(zhí)行命令
# Use an official Python runtime as a parent image
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
ADD . /app
# Install any needed packages specified in requirements.txt
RUN pip install -r requirements.txt
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD [python ,  app.py]
######################### requirements.txt #########################
#  應(yīng)用依賴
Flask
Redis
######################### app.py #########################
from flask import Flask
from redis import Redis, RedisError
import os
import socket
# Connect to Redis
redis = 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 =  i cannot connect to Redis, counter disabled /i 
 html =  h4 Hello {name}! /h4  \
  b Hostname: /b  {hostname} br/  \
  b Visits: /b  {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)
#  宿主機(jī)新建 image 目錄
$ ls
Dockerfile app.py requirements.txt
# docker 命令會(huì)把指令發(fā)送給指定的 machine,默認(rèn)是本機(jī),可通過 docker-machine env  虛擬機(jī)
docker build -t friendlyname . # Create image using this directory s Dockerfile
#  注冊(cè) image 到 machine 的 image 注冊(cè)表
docker run -p 4000:80 friendlyname # Run  friendlyname  mapping port 4000 to 80
docker run -d -p 4000:80 friendlyname # Same thing, but in detached mode
#  運(yùn)行 image,以 container 形式
docker container ls # List all running containers
docker container ls -a # List all containers, even those not running
docker container stop  hash  # Gracefully stop the specified container
docker container kill  hash  # Force shutdown of the specified container
docker container rm  hash  # Remove specified container from this machine
docker container rm $(docker container ls -a -q) # Remove all containers
docker image ls -a # List all images on this machine
docker image rm  image id  # Remove specified image from this machine
docker image rm $(docker image ls -a -q) # Remove all images from this machine
#  刪除 image 需要停止相關(guān)的 container
docker login # Log in this CLI session using your Docker credentials
docker tag  image  username/repository:tag # Tag  image  for upload to registry
#  標(biāo)記 image
docker push username/repository:tag # Upload tagged image to registry
#  將標(biāo)記的 image 發(fā)布到 Docker 賬號(hào) / 存儲(chǔ)庫
docker run -p 4000:80 username/repository:tag # Run image from a registry
服務(wù)器端口:服務(wù)端口 

Service

######################### docker-compose.yml #########################
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:
#  從注冊(cè)表中拉出上傳的圖像。#  運(yùn)行該映像的 5 個(gè)實(shí)例作為調(diào)用的服務(wù) web,限制每個(gè)實(shí)例使用,最多使用 10%的 CPU(跨所有內(nèi)核)和 50MB 的 RAM。#  如果發(fā)生故障,立即重新啟動(dòng)容器。#  將主機(jī)上的端口 80 映射到 web80 端口。#  指示 web 容器通過稱為負(fù)載平衡網(wǎng)絡(luò)共享端口 80 webnet。(在內(nèi)部,集裝箱本身將 web 在短暫的港口發(fā)布到  80 號(hào)港口。)# webnet 使用默認(rèn)設(shè)置(這是一個(gè)負(fù)載平衡的覆蓋網(wǎng)絡(luò))來定義網(wǎng)絡(luò)。

以 service 啟動(dòng)

docker-compose up
$ docker-compose ps
WARNING: Some services (visualizer, web) use the  deploy  key, which will be ignored. Compose does not support  deploy  configuration - use `docker stack deploy` to deploy to a swarm.
 Name Command State Ports 
------------------------------------------------------------------
new2_visualizer_1 npm start Up 0.0.0.0:8083- 8080/tcp 
new2_web_1 python app.py Up 0.0.0.0:4003- 80/tcp

  以 stack 啟動(dòng)

docker stack ls # List stacks or apps
docker swarm init
docker stack deploy -c docker-compose.yml getstartedlab # Run the specified Compose file
docker service ls # List running services associated with an app
docker service ps getstartedlab_web # List tasks associated with an app
curl 192.168.2.249
docker stack rm getstartedlab # Tear down an application
docker swarm leave --force # Take down the swarm
 
docker inspect  task or container  # Inspect task or container
docker container ls -q # List container IDs

Swarms

docker-machine create --driver virtualbox myvm1 # Create a VM (Mac, Win7, Linux)
docker-machine create -d hyperv --hyperv-virtual-switch  myswitch  myvm1 # Win10
docker-machine create --engine-insecure-registry 192.168.1.112:5000 x-node1
dicker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
x-master * virtualbox Running tcp://192.168.99.131:2376 v17.09.0-ce 
x-node1 - virtualbox Running tcp://192.168.99.132:2376 v17.09.0-ce
docker-machine env x-master # View basic information about your node
docker-machine ssh x-master  docker swarm init --advertise-addr  x-master ip 
docker-machine ssh x-master  docker node ls  # List the nodes in your swarm
docker-machine ssh x-master  docker swarm join-token manager 
docker-machine ssh x-node1  docker swarm join --token SWMTKN-1-1mw72ip89hsz351lbbhvuj97nj4x5q5vs6zk1zidtcs093isvq-7y6kwg6emzyhokesi7zn7d1qt 192.168.99.131:2377 
docker-machine ssh x-master  docker node ls  # List the nodes in your swarm
docker stack deploy -c docker-compose.yml getstartedlab # swarms 開啟 service
docker stack ps getstartedlab
curl 192.168.2.249
curl 192.168.99.131
curl 192.168.99.132
docker stack rm getstartedlab

Stacks

######################### docker-compose.yml #########################
version:  3 
services:
 web:
 # replace username/repo:tag with your name and image details
 image: username/repo:tag
 deploy:
 replicas: 5
 restart_policy:
 condition: on-failure
 resources:
 limits:
 cpus:  0.1 
 memory: 50M
 ports:
 -  80:80 
 networks:
 - webnet
 visualizer:
 image: dockersamples/visualizer:stable
 ports:
 -  8080:8080 
 volumes:
 -  /var/run/docker.sock:/var/run/docker.sock 
 deploy:
 placement:
 constraints: [node.role == manager]
 networks:
 - webnet
networks:
 webnet:
#  增加 stack 的 service

到此,關(guān)于“Docker service 啟動(dòng)的方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-16發(fā)表,共計(jì)6044字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 柯坪县| 吴堡县| 临颍县| 喀喇| 东莞市| 冷水江市| 吐鲁番市| 阿拉尔市| 乡城县| 牡丹江市| 浮山县| 宜阳县| 涪陵区| 洛阳市| 屏南县| 澄迈县| 黔江区| 天门市| 雅江县| 洞头县| 平罗县| 宁陕县| 明星| 炉霍县| 和林格尔县| 报价| 阆中市| 安康市| 农安县| 陆河县| 台北县| 海淀区| 新沂市| 庄河市| 岱山县| 南京市| 库伦旗| 七台河市| 开封县| 隆林| 平湖市|