In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-25 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/02 Report--
I. Overview
There are three kinds of Docker graphics page management tools commonly used: DOCKER UI,Shipyard,Portainer. Relatively speaking, Shipyard is the most powerful, followed by Portainer, and finally Docker ui.
Shipyard (github) is a docker graphical tool based on the web cluster management tool Citadel, which can manage containers, hosts and other resources. It includes two versions: core and extension. Core or shipyard mainly manages the containers on multiple Docker host (supports spanning multiple host), and extension or shipyard-extensions adds application routing and load balancing, centralized logging, deployment, etc.
Shipyard is a web system that manages containers, images, docker clusters, warehouses and nodes in Docker Swarm.
DockerUI and Shipyard function
1. Advantages of DockerUI
1) batch operations can be performed on running containers
2) in the container network-displays the network relationship between the container and the container
3) all mount directories are displayed in Volumes
A fatal disadvantage of DockerUI: it does not support multiple hosts. Just imagine, if there are N docker hosts-I need to manage them one by one with dockerui, which is troublesome to think about. Dockerui is a good management tool for a single host.
2. Shipyard function
It is an integrated system for managing docker containers, mirrors and Registries. It can simplify the management of Docker container clusters across multiple hosts. Through the Web user interface, you can roughly browse relevant information, such as how many processors and memory resources your container is using, which containers are running, and you can check event logs on all clusters.
Its main characteristics include:
1) supports dynamic clustering of nodes and expands the size of nodes (swarm, etcd schemes)
2) support image management, container management, node management and other functions
3) Visual container management and monitoring management
4) online capacity console terminal
Several Concepts of Shipyard
1) engine
A shipyard-managed docker cluster can contain one or more engine (engines), and an engine is the docker daemon that listens on the tcp port. Shipyard management of docker daemon, images, containers is based entirely on Docker API, and no other modifications are required. In addition, shipyard can impose resource restrictions on each engine, including CPU and memory. Because TCP snooping has some security risks compared with Unix socket, shipyard also supports secure communication with docker background processes through SSL certificates.
2) rethinkdb
RethinkDB is a docker image of a shipyard project, which is used to store information such as account (account), engine (engine), service key (service key), extended metadata (extension metadata), but does not store anything about containers or images.
Shipyard ecology
Shipyard is composed of the shipyard controller and the surrounding ecosystem. The following is introduced according to the deploy startup order (the following are the names of the containers started after shipyard is installed using the script)
1) RethinkDB
The first thing deploy starts is the RethinkDB container. Shipyard uses RethinkDB as the database to store users and other information.
2) Discovery
In order to use Swarm, we need an external key-value store group container, and shipyard uses etcd by default.
3) shipyard_certs
Certificate management container to implement certificate verification function
4) Proxy
By default, the Docker engine only listens on Socket, and we can reconfigure the engine to use TLS or use a proxy container to forward requests from TCP to UNIX Socket that Docker listens on.
5) Swarm Manager
Swarm Manager
6) Swarm Agent
Swarm agent, which runs on each node.
7) Controller
Shipyard controller, the implementation of Remote API and web.
2. Shipyard building
1. Environmental preparation
(1) system version
CentOS Linux release 7.5.1804 (Core)
(2) Network card information
Inet 172.160.45.128 netmask 255.255.255.0 broadcast 172.160.45.25
(3) disable firewall and seliunx service
(4) docker-ce installation
Docker version 18.06.3-ce, build d7080c1
2. Download dependent images (if these images are not downloaded in advance, they will be downloaded automatically at the time of installation and deployment with the following button, but you have to wait for a period of time. So it's best to download it in advance, it will be quick when you deploy it with one click.
# docker pull rethinkdb
# docker pull microbox/etcd
# docker pull shipyard/docker-proxy
# docker pull swarm
# docker pull dockerclub/shipyard
3.1. Official installation:
How to install shipyard Chinese version
Curl http://dockerclub.net/deploy | bash-s
3.2. Execute the script
# sh shipyard-deploy
After deployment, you can see that the corresponding shipyard container is running normally
Finally, visit http://172.160.45.128:8080, and log in with admin/shipyard username and password.
If you want to modify the web access port, do the following:
# cat shipyard-deploy | grep 8080
Echo "PORT: specify the listen port for the controller (default: 8080)"
SHIPYARD_PORT=$ {PORT:-8080}
For example, change the default port 8080 in the script to port 80
# sed-I's Universe 8080max 80max g 'shipyard-deploy
And then redeploy.
Delete Shipyard environment operation
# cat shipyard-deploy | ACTION=remove bash
4.2 how to delete the Chinese version of shipyard
Curl http://dockerclub.net/deploy | ACTION = remove bash-s
5. Shipyard adds the operation records of other node hosts (hosts of centos7.X systems)
For example, the 172.16.60.220 machine node is added to the shipyard management above.
You need to do the following on the machine of the added node:
1) download shipyard-deploy on the added node according to the latest address above
# chmod + x shipyard-deploy
2) do the following (note that the etcd address below should be written as the ip address of the shipyard deployment machine. The image will be downloaded automatically when it is executed for the first time, and you will have to wait for some time.)
# cat shipyard-deploy | ACTION=node DISCOVERY=etcd://172.160.45.128:4001 bash
Note that when adding a node, the above script needs to run on the host of the added node, not on the machine where the shipyard deploys the node; then log in to http://172.160.45.128:8080, to see the added node information in "Container Management"-"Host Node".
Additional knowledge:
Nginx for domain name forwarding: add the following code to the http block of the nginx configuration file:
Upstream shipyard {
Server 172.160.45.128:8080
}
Server {
Listen 80
Server_name kevin.shipyard.com
Location / {
Proxy_pass http://shipyard;
Proxy_http_version 1.1
Proxy_set_header Upgrade $http_upgrade
Proxy_set_header Connection "upgrade"
}
}
The following three lines of code do the WebSockets jump for nginx. Otherwise, 400 errors will be reported when shell is executed.
Proxy_http_version 1.1
Proxy_set_header Upgrade $http_upgrade
Proxy_set_header Connection "upgrade"
Using shipyard to deploy swarm clusters and manage containers, swarm-manage is a shipyard deployment machine, and other swarm-node nodes are nodes added to shipyard management.
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.