In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/02 Report--
Docker is an open source application container engine that packages applications and dependencies into a portable image, then publishes them to the server, and can be virtualized, helping to deliver applications quickly and efficiently.
The three core concepts of Docker:
Image Image, apply and rely on packaged generated files, similar to installation packages.
Container Container, which is used to create an example of running an application by image.
The place where the Repository,Docker of the warehouse stores the image files.
Resource orchestration Docker-compose defines and runs an application system composed of multiple containers, declares each service through the docker-compose.yml file, and completes the creation and startup of the application as a whole.
Swarm is an official cluster management tool provided by Docker, which organizes the unified management of Docker nodes, takes service as the scheduling unit, supports dynamic expansion and other features, and is more lightweight than Kubernetes (K8s).
Content catalog:
L Docker common commands: image, container, network, data volume
L Dockerfile examples and common instructions
L Resource orchestration docker-compose common commands
L docker-compose.yml examples and common instructions
L Common commands for cluster deployment Swarm
L use skills
N logs command combined with grep to format log information
N prune command to clean up Docker system garbage
L deploy the instance
N Docker starts nginx
N Resource choreography Web service
N Cluster deployment of Web services
Docker installation:
Https://docs.docker.com/install/linux/docker-ce/ubuntu/
Https://docs.docker.com/docker-for-windows/install/
Code download:
Https://github.com/rickding/HelloDocker
Https://github.com/jextop/StarterDeploy
Docker common commands: mirror, container, network, data volume
Dockerfile example:
Dockerfile is a mirror description file that contains instructions, each of which builds a layer, so the content of each instruction is to describe how the layer should be built. Basic structure of Dockerfile:
-basic image
-maintainer information
-Image build instruction
-execute instructions when the container starts
FROM node:8
LABEL maintainer= "Jext Community, https://github.com/rickding/HelloDocker"
# copy files
COPY. / usr/node/
WORKDIR / usr/node/
# launch service
CMD ["node", "hello.js"]
EXPOSE 8010
Common Dockerfile directives:
Common commands for Docker-compose resource orchestration:
Docker-compose.yml example:
The resource orchestration file defines version information, services service configuration, networks network information, volumes volume information, and contains the container configuration for each service startup.
Version:'3'
Services:
Db:
Hostname: db
Image: mysql:5
Command:-- default-authentication-plugin=mysql_native_password
Ports:
-3306 3306
Environment:
MYSQL_DATABASE: starter
MYSQL_ROOT_PASSWORD: root
Api:
Image: starter_api:latest
Build:.
Ports:
-8011 Phantom 8011
Depends_on:
-db
Common docker-compose.yml directives:
Common commands for Swarm cluster deployment:
Skills for viewing logs logs
Log is very important in the operation of the system, development, testing and operation and maintenance find the cause of the fault through system log analysis. The logs command formats the log information in combination with grep:
Docker-compose logs-ft | grep-- color-I-e error-e warn-e version-e exception
The Docker three Musketeers logs command is sorted out as follows:
Docker prune cleans up system garbage
Based on the Linux kernel, Docker allocates and isolates resources through operating system and virtual container calls to CGroup, Namespace and other system interfaces. The basic architecture is as follows:
Docker relies on system resources to run, and some garbage will be generated in the process of allocation and recycling, for example, docker rm deletion is not performed after docker stop container. Run docker system df to view the resource information. RECLAIMABLE is the recyclable ratio:
Add the option-v to display details: docker system df-v
Tips: run the prune command to clean up the garbage and release resources:
Docker system prune-volumes
The prune commands provided by Docker are organized as follows:
Instance 1:Docker starts nginx
L code: https://github.com/rickding/HelloDocker/tree/master/nginx
Configuration and script files:
├── docker-compose.yml
├── build.sh
├── run.sh
├── stop.sh
L Dockerfile adds web pages and configuration files based on nginx images:
FROM nginx:stable
# web files
COPY. / web/ / usr/share/nginx/html
# config
COPY. / conf/nginx.conf / etc/nginx/nginx.conf
COPY. / conf/conf.d / etc/nginx/conf.d
WORKDIR / etc/nginx
EXPOSE 80
L build image: execute script. / build.sh or command: docker build-t nginx:latest.
L launch container instance: execute script. / run.sh or command: docker run-it-- name nginx-p 80:80-d nginx:latest
L visit http://localhost:80/ and see the page:
Stop deleting instances: execute script. / stop.sh or command: docker stop nginx & & docker rm nginx
Example 2: resource orchestration Web service
L code: https://github.com/jextop/StarterDeploy
Configuration and script files:
├── docker-compose.yml
├── pull.sh
├── up.sh
├── logs.sh
├── down.sh
L docker-compose.yml deploys multiple container instances on which Web service depends, including database, cache, message queue, log system, API interface and Web management backend:
Version:'3'
Services:
Db:
Hostname: db
Image: mysql:5
Command:-- default-authentication-plugin=mysql_native_password
Ports:
-3306 3306
Environment:
MYSQL_DATABASE: starter
MYSQL_ROOT_PASSWORD: root
Cache:
Hostname: cache
Image: redis:4
Command: redis-server-- appendonly yes
Ports:
-6379PUR 6379
Mq:
Hostname: mq
Image: webcenter/activemq:latest
Ports:
-61616purl
-8161 Phantom 8161
Elasticsearch:
Hostname: elasticsearch
Image: elasticsearch:latest
Ports:
-9200 purl 9200
-9300 purl 9300
Log:
Hostname: log
Image: registry.cn-shanghai.aliyuncs.com/hellodock/logstash:7.5.2
Ports:
-9600 purl 9600
-9601 Freund 9601
Depends_on:
-elasticsearch
Db_admin:
Image: adminer:latest
Ports:
-3006 purl 8080
Depends_on:
-db
Api:
Image: registry.cn-shanghai.aliyuncs.com/jext/starter_api:latest
Ports:
-8011 Phantom 8011
Depends_on:
-db
-cache
-mq
-log
Admin:
Image: registry.cn-shanghai.aliyuncs.com/jext/starter_admin:latest
Ports:
-8010 purl 8010
Depends_on:
-api
L start the Web service: execute the script. / up.sh or command: docker-compose up-d
L View the running instance: docker-compose ps
L View log: execute script. / logs.sh or command: docker-compose logs-ft
L visit http://127.0.0.1:8010/ and see the page:
L stop and delete services: execute script. / down.sh or command, docker-compose down-- remove-orphans
Example 3: cluster deployment of Web services
L code: https://github.com/jextop/StarterDeploy
Configuration and script files:
├── docker-compose.yml
├── pull.sh
├── deploy.sh
├── rm.sh
L docker-compose.yml adds deploy attribute, replicas specifies the number of copies, and placement specifies docker node:
Deploy:
Replicas: 1
# placement:
# constraints: [node.labels.group = = api]
L start Swarm to join the node to build a cluster, and the first node automatically becomes the administrator: docker swarm init
Deploy Web service: execute script. / deploy.sh or command: docker stack deploy-c docker-compose.yml starter
L View Stack and services: docker stack ls & & docker service ls
L stop deletion service: execute script. / rm.sh or command: docker stack rm starter
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.