Introduction Dockerfile build run is a manual operation of a single container. If a microservice architecture is used, 100+ containers need to be started. How to maintain the dependencies between them? Three steps:
First experience 1.Dockerfile FROM python:3.7-alpine WORKDIR /code ENV FLASK_APP app.py ENV FLASK_RUN_HOST 0.0.0.0 RUN apk add --no-cache gcc musl-dev linux-headers COPY requirements.txt requirements.txt RUN pip install -r requirements.txt COPY . . CMD ["flask", "run"] 2.Service import time import redis from flask import Flask app = Flask(__name__) cache = redis.Redis(host='redis', port=6379) def get_hit_count(): retries = 5 while True: try: return cache.incr('hits') except redis.exceptions.ConnectionError as exc: if retries == 0: raise exc retries -= 1 time.sleep(0.5) @app.route('/') def hello(): count = get_hit_count() return 'Hello World! I have been seen {} times.\n'.format(count) docker-compose.yml version: '3' services: web: build: . ports: - "5000:5000" volumes: - .:/code -logvolume01:/var/log links: - redis redis: image: redis volumes: logvolume01: {} docker-compose up Starting compose-demo_web_1 ... done Starting compose-demo_redis_1 ... done Attaching to compose-demo_redis_1, compose-demo_web_1 redis_1 | 1:C 12 Sep 2020 07:34:09.654 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo redis_1 | 1:C 12 Sep 2020 07:34:09.655 # Redis version=6.0.7, bits=64, commit=00000000, modified=0, pid=1, just started redis_1 | 1:C 12 Sep 2020 07:34:09.655 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf redis_1 | 1:M 12 Sep 2020 07:34:09.657 * Running mode=standalone, port=6379. redis_1 | 1:M 12 Sep 2020 07:34:09.657 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. redis_1 | 1:M 12 Sep 2020 07:34:09.657 # Server initialized redis_1 | 1:M 12 Sep 2020 07:34:09.658 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. redis_1 | 1:M 12 Sep 2020 07:34:09.658 * Loading RDB produced by version 6.0.7 redis_1 | 1:M 12 Sep 2020 07:34:09.658 * RDB age 156 seconds redis_1 | 1:M 12 Sep 2020 07:34:09.658 * RDB memory usage when created 0.77 Mb redis_1 | 1:M 12 Sep 2020 07:34:09.658 * DB loaded from disk: 0.000 seconds web_1 | * Serving Flask app "app.py" web_1 | * Environment: production web_1 | WARNING: This is a development server. Do not use it in a production deployment. web_1 | Use a production WSGI server instead. web_1 | * Debug mode: off YML file rulesversion: "1.0" #versionservices: #service listservice1: #Service configuration container_name: #Container name depends_on: #Dependency list - depend1 -depend2 images: #Mirror-image1 - image2 build:. #Build directory network: #Network...... service2:test2 ...... volumnes: #Mount directory list networks: #Network list configs: #Other configurations This is the end of this article about the implementation of Docker batch container orchestration. For more relevant Docker batch container orchestration content, please search 123WORDPRESS.COM's previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: MySQL Practical Experience of Using Insert Statement
>>: WeChat applet scroll-view realizes left and right linkage
When building a website, HTML language may seem un...
The virtual machine is installed on the host mach...
View container logs First, use docker run -it --r...
Why are the SQL queries you write slow? Why do th...
Prepare the ingredients as shown above (ps: hadoo...
Background: position: sticky is also called stick...
I searched a lot online and found that many of th...
After VMware is abnormally shut down, it prompts ...
Table of contents Scenario Analysis Development S...
Many people also asked me what books I read when ...
Table of contents 1 Install Docker 2 Configuring ...
Everything is a file! UNIX has already said it. E...
Next, we will learn how to monitor server perform...
1. The role of index In general application syste...
mysql between boundary range The range of between...