目录
一、docker UI
1.1 介绍
1.2 部署
1.2.1 拉镜像
1.2.2 启动容器
1.2.3 访问页面
1.3 使用
1.3.1 Dashboard
1.3.2 Containers
1.3.3 Containers Network
1.3.4 Images
1.3.5 Networks
1.3.6 Volumes
1.3.7 Docker Information
二、Portainer
2.1 介绍
2.2 部署
2.2.1 拉镜像
2.2.2 启动容器
2.2.3 访问页面
2.3 使用
2.3.1 Home
2.3.2 Dashboard
2.3.3 APP Templates
2.3.4 Stacks
2.3.5 Containers
2.3.6 images
2.3.7 Networks
2.3.8 Volume
2.3.9 Events
2.3.10 Host View
三、shipyard
3.1 介绍
3.2 部署
3.2.1 拉取镜像
3.2.2 页面访问
3.3 使用
3.3.1 容器管理
3.3.2 镜像管理
3.3.3 仓库管理
3.3.4 账户管理
3.3.5 日志事件
一、docker UI
1.1 介绍
DockerUI是一个开源的基于Docker API的web应用程序,提供等同Docker命令行的大部分功能,支持container管理,image管理。它最值得称道的是它华丽的设计和用来运行和管理docker的简洁的操作界面。
DockerUI优点:
1)支持container批量操作;
2)支持image管理(虽然比较薄弱)
DockerUI缺点:
1)不支持多主机。
2)不支持鉴权
1.2 部署
1.2.1 拉镜像
#拉镜像 docker pull uifd/ui-for-docker #检查 [root@docker]-[~]-#docker images|grep ui uifd/ui-for-docker latest 965940f98fa5 5 years ago 8.1MB
1.2.2 启动容器
#容器启动 docker run -it -d --name docker-web -p 9090:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker #检查 [root@docker]-[~]-#docker ps |grep web 164aaf6b30af uifd/ui-for-docker "/ui-for-docker" About an hour ago Up About an hour 0.0.0.0:9090->9000/tcp, :::9090->9000/tcp docker-web
1.2.3 访问页面
http://10.0.0.100:9090
1.3 使用
1.3.1 Dashboard
显示所有容器运行情况、容器创建周期、镜像拉取周期。
1.3.2 Containers
查看容器运行状态、日志情况等
1.3.3 Containers Network
1.3.4 Images
拉取镜像:
修改标签:
1.3.5 Networks
1.3.6 Volumes
1.3.7 Docker Information
二、Portainer
2.1 介绍
Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境。 而且完全免费,基于容器化的安装方式,方便高效部署。
官方站点:https://www.portainer.io/
2.2 部署
[root@docker]-[~/docker-ui]-#docker search portainer |head -n 3 NAME DESCRIPTION STARS OFFICIAL AUTOMATED portainer/portainer This Repo is now deprecated, use portainer/p… 2255 portainer/portainer-ce Portainer CE - a lightweight service deliver… 1314
2.2.1 拉镜像
#拉取镜像 [root@docker]-[~]-#docker pull portainer/portainer #检查 [root@docker]-[~]-#docker images|grep portainer portainer/portainer latest 980323c8eb3f 19 months ago 196MB
2.2.2 启动容器
#启动容器 docker run -d -p 8100:8000 -p 9100:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer #检查 [root@docker]-[~]-#docker ps|grep portainer e6ba4145ba0a portainer/portainer "/portainer" About an hour ago Up About an hour 0.0.0.0:8100->8000/tcp, :::8100->8000/tcp, 0.0.0.0:9100->9000/tcp, :::9100->9000/tcp portainer
2.2.3 访问页面
http://10.0.0.100:9100(admin:${new_password})
2.3 使用
2.3.1 Home
添加用户:
添加docker endpoints:
添加registry:
settings:(详细介绍点击问号即可)
2.3.2 Dashboard
2.3.3 APP Templates
自定义:
2.3.4 Stacks
2.3.5 Containers
可以进行启动、停止、杀掉、重启、中止、移除、添加容器等操作。
创建容器:
2.3.6 images
拉取镜像:
查看、移除、构建、导入镜像:
2.3.7 Networks
2.3.8 Volumes
2.3.9 Events
2.3.10 Host View
三、shipyard
3.1 介绍
shipyard是docker的web可视化界面管理工具,是建立在docker集群管理工具Citadel之上,可以管理镜像、容器、主机等资源的web图形化工具,包括core和extension两个版本,core即shipyard主要是把多个 Docker host上的 containers 统一管理(支持跨越多个host),extension即shipyard-extensions添加了应用路由和负载均衡、集中化日志、部署等。Shipyard是在Docker Swarm实现对容器、镜像、docker集群、仓库、节点进行管理的web系统。
通过Web用户界面,你可以浏览相关信息,比如你的容器在使用多少处理器和内存资源、在运行哪些容器,哪些镜像,还可以检查所有集群上的事件日志等。
其特性主要包括:
1)支持节点动态集群,可扩展节点的规模(swarm、etcd方案)
2)支持镜像管理、容器管理、节点管理等功能
3)可视化的容器管理和监控管理
4)在线连接容器console终端
3.2 部署
3.2.1 拉取镜像
通过脚本快速拉取镜像,启动容器:
[root@docker]-[~/docker-ui]-#cat deploy #!/bin/bash if [ "$1" != "" ] && [ "$1" = "-h" ]; then echo "Shipyard Deploy uses the following environment variables:" echo " ACTION: this is the action to use (deploy, upgrade, node, remove)" echo " DISCOVERY: discovery system used by Swarm (only if using 'node' action)" echo " IMAGE: this overrides the default Shipyard image" echo " PREFIX: prefix for container names" echo " SHIPYARD_ARGS: these are passed to the Shipyard controller container as controller args" echo " TLS_CERT_PATH: path to certs to enable TLS for Shipyard" echo " PORT: specify the listen port for the controller (default: 8080)" echo " IP: specify the address at which the controller or node will be available (default: eth0 ip)" echo " PROXY_PORT: port to run docker proxy (default: 2375)" exit 1 fi if [ -z "`which docker`" ]; then echo "You must have the Docker CLI installed on your \$PATH" echo " See http://docs.docker.com for details" exit 1 fi ACTION=${ACTION:-deploy} IMAGE=${IMAGE:-dockerclub/shipyard:latest} PREFIX=${PREFIX:-shipyard} SHIPYARD_ARGS=${SHIPYARD_ARGS:-""} TLS_CERT_PATH=${TLS_CERT_PATH:-} CERT_PATH="/etc/shipyard" PROXY_PORT=${PROXY_PORT:-2376} SWARM_PORT=3375 SHIPYARD_PROTOCOL=http SHIPYARD_PORT=${PORT:-8080} SHIPYARD_IP=${IP} DISCOVERY_BACKEND=etcd DISCOVERY_PORT=4001 DISCOVERY_PEER_PORT=7001 ENABLE_TLS=0 CERT_FINGERPRINT="" LOCAL_CA_CERT="" LOCAL_SSL_CERT="" LOCAL_SSL_KEY="" LOCAL_SSL_CLIENT_CERT="" LOCAL_SSL_CLIENT_KEY="" SSL_CA_CERT="" SSL_CERT="" SSL_KEY="" SSL_CLIENT_CERT="" SSL_CLIENT_KEY="" show_cert_help() { echo "To use TLS in Shipyard, you must have existing certificates." echo "The certs must be named ca.pem, server.pem, server-key.pem, cert.pem and key.pem" echo "If you need to generate certificates, see https://github.com/ehazlett/certm for examples." } check_certs() { if [ -z "$TLS_CERT_PATH" ]; then return fi if [ ! -e $TLS_CERT_PATH ]; then echo "Error: unable to find certificates in $TLS_CERT_PATH" show_cert_help exit 1 fi if [ "$PROXY_PORT" = "2375" ]; then PROXY_PORT=2376 fi SWARM_PORT=3376 SHIPYARD_PROTOCOL=https LOCAL_SSL_CA_CERT="$TLS_CERT_PATH/ca.pem" LOCAL_SSL_CERT="$TLS_CERT_PATH/server.pem" LOCAL_SSL_KEY="$TLS_CERT_PATH/server-key.pem" LOCAL_SSL_CLIENT_CERT="$TLS_CERT_PATH/cert.pem" LOCAL_SSL_CLIENT_KEY="$TLS_CERT_PATH/key.pem" SSL_CA_CERT="$CERT_PATH/ca.pem" SSL_CERT="$CERT_PATH/server.pem" SSL_KEY="$CERT_PATH/server-key.pem" SSL_CLIENT_CERT="$CERT_PATH/cert.pem" SSL_CLIENT_KEY="$CERT_PATH/key.pem" CERT_FINGERPRINT=$(openssl x509 -noout -in $LOCAL_SSL_CERT -fingerprint -sha256 | awk -F= '{print $2;}') if [ ! -e $LOCAL_SSL_CA_CERT ] || [ ! -e $LOCAL_SSL_CERT ] || [ ! -e $LOCAL_SSL_KEY ] || [ ! -e $LOCAL_SSL_CLIENT_CERT ] || [ ! -e $LOCAL_SSL_CLIENT_KEY ]; then echo "Error: unable to find certificates" show_cert_help exit 1 fi ENABLE_TLS=1 } # container functions start_certs() { ID=$(docker run \ -ti \ -d \ --restart=always \ --name $PREFIX-certs \ -v $CERT_PATH \ alpine \ sh) if [ $ENABLE_TLS = 1 ]; then docker cp $LOCAL_SSL_CA_CERT $PREFIX-certs:$SSL_CA_CERT docker cp $LOCAL_SSL_CERT $PREFIX-certs:$SSL_CERT docker cp $LOCAL_SSL_KEY $PREFIX-certs:$SSL_KEY docker cp $LOCAL_SSL_CLIENT_CERT $PREFIX-certs:$SSL_CLIENT_CERT docker cp $LOCAL_SSL_CLIENT_KEY $PREFIX-certs:$SSL_CLIENT_KEY fi } remove_certs() { docker rm -fv $PREFIX-certs > /dev/null 2>&1 } get_ip() { if [ -z "$SHIPYARD_IP" ]; then SHIPYARD_IP=`docker run --rm --net=host alpine ip route get 8.8.8.8 | awk '{ print $7; }'` fi } start_discovery() { get_ip ID=$(docker run \ -ti \ -d \ -p 4001:4001 \ -p 7001:7001 \ --restart=always \ --name $PREFIX-discovery \ microbox/etcd:latest -addr $SHIPYARD_IP:$DISCOVERY_PORT -peer-addr $SHIPYARD_IP:$DISCOVERY_PEER_PORT) } remove_discovery() { docker rm -fv $PREFIX-discovery > /dev/null 2>&1 } start_rethinkdb() { ID=$(docker run \ -ti \ -d \ --restart=always \ --name $PREFIX-rethinkdb \ rethinkdb) } remove_rethinkdb() { docker rm -fv $PREFIX-rethinkdb > /dev/null 2>&1 } start_proxy() { TLS_OPTS="" if [ $ENABLE_TLS = 1 ]; then TLS_OPTS="-e SSL_CA=$SSL_CA_CERT -e SSL_CERT=$SSL_CERT -e SSL_KEY=$SSL_KEY -e SSL_SKIP_VERIFY=1" fi # Note: we add SSL_SKIP_VERIFY=1 to skip verification of the client # certificate in the proxy image. this will pass it to swarm that # does verify. this helps with performance and avoids certificate issues # when running through the proxy. ultimately if the cert is invalid # swarm will fail to return. ID=$(docker run \ -ti \ -d \ -p $PROXY_PORT:$PROXY_PORT \ --hostname=$HOSTNAME \ --restart=always \ --name $PREFIX-proxy \ -v /var/run/docker.sock:/var/run/docker.sock \ -e PORT=$PROXY_PORT \ --volumes-from=$PREFIX-certs $TLS_OPTS\ shipyard/docker-proxy:latest) } remove_proxy() { docker rm -fv $PREFIX-proxy > /dev/null 2>&1 } start_swarm_manager() { get_ip TLS_OPTS="" if [ $ENABLE_TLS = 1 ]; then TLS_OPTS="--tlsverify --tlscacert=$SSL_CA_CERT --tlscert=$SSL_CERT --tlskey=$SSL_KEY" fi EXTRA_RUN_OPTS="" if [ -z "$DISCOVERY" ]; then DISCOVERY="$DISCOVERY_BACKEND://discovery:$DISCOVERY_PORT" EXTRA_RUN_OPTS="--link $PREFIX-discovery:discovery" fi ID=$(docker run \ -ti \ -d \ --restart=always \ --name $PREFIX-swarm-manager \ --volumes-from=$PREFIX-certs $EXTRA_RUN_OPTS \ swarm:latest \ m --replication --addr $SHIPYARD_IP:$SWARM_PORT --host tcp://0.0.0.0:$SWARM_PORT $TLS_OPTS $DISCOVERY) } remove_swarm_manager() { docker rm -fv $PREFIX-swarm-manager > /dev/null 2>&1 } start_swarm_agent() { get_ip if [ -z "$DISCOVERY" ]; then DISCOVERY="$DISCOVERY_BACKEND://discovery:$DISCOVERY_PORT" EXTRA_RUN_OPTS="--link $PREFIX-discovery:discovery" fi ID=$(docker run \ -ti \ -d \ --restart=always \ --name $PREFIX-swarm-agent $EXTRA_RUN_OPTS \ swarm:latest \ j --addr $SHIPYARD_IP:$PROXY_PORT $DISCOVERY) } remove_swarm_agent() { docker rm -fv $PREFIX-swarm-agent > /dev/null 2>&1 } start_controller() { #-v $CERT_PATH:/etc/docker:ro \ TLS_OPTS="" if [ $ENABLE_TLS = 1 ]; then TLS_OPTS="--tls-ca-cert $SSL_CA_CERT --tls-cert=$SSL_CERT --tls-key=$SSL_KEY --shipyard-tls-ca-cert=$SSL_CA_CERT --shipyard-tls-cert=$SSL_CERT --shipyard-tls-key=$SSL_KEY" fi ID=$(docker run \ -ti \ -d \ --restart=always \ --name $PREFIX-controller \ --link $PREFIX-rethinkdb:rethinkdb \ --link $PREFIX-swarm-manager:swarm \ -p $SHIPYARD_PORT:$SHIPYARD_PORT \ --volumes-from=$PREFIX-certs \ $IMAGE \ --debug \ server \ --listen :$SHIPYARD_PORT \ -d tcp://swarm:$SWARM_PORT $TLS_OPTS $SHIPYARD_ARGS) } wait_for_available() { set +e IP=$1 PORT=$2 echo Waiting for Shipyard on $IP:$PORT docker pull ehazlett/curl > /dev/null 2>&1 TLS_OPTS="" if [ $ENABLE_TLS = 1 ]; then TLS_OPTS="-k" fi until $(docker run --rm ehazlett/curl --output /dev/null --connect-timeout 1 --silent --head --fail $TLS_OPTS $SHIPYARD_PROTOCOL://$IP:$PORT/ > /dev/null 2>&1); do printf '.' sleep 1 done printf '\n' } remove_controller() { docker rm -fv $PREFIX-controller > /dev/null 2>&1 } if [ "$ACTION" = "deploy" ]; then set -e check_certs get_ip echo "Deploying Shipyard" echo " -> Starting Database" start_rethinkdb echo " -> Starting Discovery" start_discovery echo " -> Starting Cert Volume" start_certs echo " -> Starting Proxy" start_proxy echo " -> Starting Swarm Manager" start_swarm_manager echo " -> Starting Swarm Agent" start_swarm_agent echo " -> Starting Controller" start_controller wait_for_available $SHIPYARD_IP $SHIPYARD_PORT echo "Shipyard available at $SHIPYARD_PROTOCOL://$SHIPYARD_IP:$SHIPYARD_PORT" if [ $ENABLE_TLS = 1 ] && [ ! -z "$CERT_FINGERPRINT" ]; then echo "SSL SHA-256 Fingerprint: $CERT_FINGERPRINT" fi echo "Username: admin Password: shipyard" elif [ "$ACTION" = "node" ]; then set -e if [ -z "$DISCOVERY" ]; then echo "You must set the DISCOVERY environment variable" echo "with the discovery system used with Swarm" exit 1 fi check_certs echo "Adding Node" echo " -> Starting Cert Volume" start_certs echo " -> Starting Proxy" start_proxy echo " -> Starting Swarm Manager" start_swarm_manager $DISCOVERY echo " -> Starting Swarm Agent" start_swarm_agent echo "Node added to Swarm: $SHIPYARD_IP" elif [ "$ACTION" = "upgrade" ]; then set -e check_certs get_ip echo "Upgrading Shipyard" echo " -> Pulling $IMAGE" docker pull $IMAGE echo " -> Upgrading Controller" remove_controller start_controller wait_for_available $SHIPYARD_IP $SHIPYARD_PORT echo "Shipyard controller updated" elif [ "$ACTION" = "remove" ]; then # ignore errors set +e echo "Removing Shipyard" echo " -> Removing Database" remove_rethinkdb echo " -> Removing Discovery" remove_discovery echo " -> Removing Cert Volume" remove_certs echo " -> Removing Proxy" remove_proxy echo " -> Removing Swarm Agent" remove_swarm_agent echo " -> Removing Swarm Manager" remove_swarm_manager echo " -> Removing Controller" remove_controller echo "Done" else echo "Unknown action $ACTION" exit 1 fi
执行脚本:
[root@docker]-[~/docker-ui]-#./deploy Unable to find image 'alpine:latest' locally latest: Pulling from library/alpine 213ec9aee27d: Pulling fs layer 213ec9aee27d: Verifying Checksum 213ec9aee27d: Download complete 213ec9aee27d: Pull complete Digest: sha256:bc41182d7ef5ffc53a40b044e725193bc10142a1243f395ee852a8d9730fc2ad Status: Downloaded newer image for alpine:latest Deploying Shipyard -> Starting Database Unable to find image 'rethinkdb:latest' locally latest: Pulling from library/rethinkdb 7a6db449b51b: Pulling fs layer 20181367ea9b: Pulling fs layer d4c59a6fbe9d: Pulling fs layer 54db2c71fcb0: Pulling fs layer 1e96e4039912: Pulling fs layer 54db2c71fcb0: Waiting 1e96e4039912: Waiting d4c59a6fbe9d: Verifying Checksum d4c59a6fbe9d: Download complete 20181367ea9b: Verifying Checksum 20181367ea9b: Download complete 1e96e4039912: Download complete 7a6db449b51b: Download complete 7a6db449b51b: Pull complete 20181367ea9b: Pull complete d4c59a6fbe9d: Pull complete 54db2c71fcb0: Verifying Checksum 54db2c71fcb0: Download complete 54db2c71fcb0: Pull complete 1e96e4039912: Pull complete Digest: sha256:bc30f504fc823240c64552a7983b6da55d83dd0966ab17cab12c5fb9e45576ce Status: Downloaded newer image for rethinkdb:latest -> Starting Discovery Unable to find image 'microbox/etcd:latest' locally latest: Pulling from microbox/etcd Image docker.io/microbox/etcd:latest uses outdated schema1 manifest format. Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/ 8ded6e8ab3fd: Pulling fs layer bf8f85223d7a: Pulling fs layer a3ed95caeb02: Pulling fs layer a3ed95caeb02: Verifying Checksum a3ed95caeb02: Download complete bf8f85223d7a: Verifying Checksum bf8f85223d7a: Download complete 8ded6e8ab3fd: Verifying Checksum 8ded6e8ab3fd: Download complete 8ded6e8ab3fd: Pull complete bf8f85223d7a: Pull complete a3ed95caeb02: Pull complete Digest: sha256:941fd46b4eab265c65da9bfbf33397b853a7cef6c16df93a1e3fea7b4e47fc90 Status: Downloaded newer image for microbox/etcd:latest -> Starting Cert Volume -> Starting Proxy Unable to find image 'shipyard/docker-proxy:latest' locally latest: Pulling from shipyard/docker-proxy Image docker.io/shipyard/docker-proxy:latest uses outdated schema1 manifest format. Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/ 8f4ec95ceaee: Pulling fs layer ac77a345f217: Pulling fs layer 43039e3ef672: Pulling fs layer a3ed95caeb02: Pulling fs layer a3ed95caeb02: Waiting 8f4ec95ceaee: Download complete 8f4ec95ceaee: Pull complete ac77a345f217: Verifying Checksum ac77a345f217: Download complete ac77a345f217: Pull complete a3ed95caeb02: Verifying Checksum a3ed95caeb02: Download complete 43039e3ef672: Verifying Checksum 43039e3ef672: Download complete 43039e3ef672: Pull complete a3ed95caeb02: Pull complete Digest: sha256:da6bbd1a145581a940d44940cce0f43705d7f8ec552a4e97e77104ec1b6dc3d1 Status: Downloaded newer image for shipyard/docker-proxy:latest -> Starting Swarm Manager Unable to find image 'swarm:latest' locally latest: Pulling from library/swarm 38e5683d7755: Pulling fs layer 083aff163606: Pulling fs layer 2064f1a73c6b: Pulling fs layer 083aff163606: Verifying Checksum 083aff163606: Download complete 2064f1a73c6b: Verifying Checksum 2064f1a73c6b: Download complete 38e5683d7755: Verifying Checksum 38e5683d7755: Download complete 38e5683d7755: Pull complete 083aff163606: Pull complete 2064f1a73c6b: Pull complete Digest: sha256:2de8883e2933840ed7ee7360ea1eed314bf8aeac37c0692b9ca651630fde3b7f Status: Downloaded newer image for swarm:latest -> Starting Swarm Agent -> Starting Controller Unable to find image 'dockerclub/shipyard:latest' locally latest: Pulling from dockerclub/shipyard Image docker.io/dockerclub/shipyard:latest uses outdated schema1 manifest format. Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/ 4d06f2521e4f: Pulling fs layer 64100628847a: Pulling fs layer 36a170440d6d: Pulling fs layer a823ae228c2d: Pulling fs layer a3ed95caeb02: Pulling fs layer a823ae228c2d: Waiting a3ed95caeb02: Waiting 4d06f2521e4f: Verifying Checksum 4d06f2521e4f: Download complete 4d06f2521e4f: Pull complete 36a170440d6d: Verifying Checksum 36a170440d6d: Download complete a3ed95caeb02: Verifying Checksum a3ed95caeb02: Download complete 64100628847a: Verifying Checksum 64100628847a: Download complete 64100628847a: Pull complete 36a170440d6d: Pull complete a823ae228c2d: Verifying Checksum a823ae228c2d: Download complete a823ae228c2d: Pull complete a3ed95caeb02: Pull complete Digest: sha256:bd5ac58c556506012f7788db18fc6fed3bcefb294e469babbeb87ad7ef15e219 Status: Downloaded newer image for dockerclub/shipyard:latest Waiting for Shipyard on 10.0.0.100:8080 ........................................ Shipyard available at http://10.0.0.100:8080 Username: admin Password: shipyard
容器介绍:
[root@docker]-[~/docker-ui]-#docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2308552f63a9 dockerclub/shipyard:latest "/bin/controller --d…" About an hour ago Up About an hour 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp shipyard-controller 1676327a4e5a swarm:latest "/swarm j --addr 10.…" About an hour ago Up About an hour 2375/tcp shipyard-swarm-agent 2f368d9f81df swarm:latest "/swarm m --replicat…" About an hour ago Up About an hour 2375/tcp shipyard-swarm-manager c38108f757c5 shipyard/docker-proxy:latest "/usr/local/bin/run" About an hour ago Up About an hour 2375/tcp, 0.0.0.0:2376->2376/tcp, :::2376->2376/tcp shipyard-proxy e610645dfe8e alpine "sh" About an hour ago Up About an hour shipyard-certs c444c7df39f4 microbox/etcd:latest "/bin/etcd -addr 10.…" About an hour ago Up About an hour 0.0.0.0:4001->4001/tcp, :::4001->4001/tcp, 0.0.0.0:7001->7001/tcp, :::7001->7001/tcp shipyard-discovery 307b4cec4659 rethinkdb "rethinkdb --bind all" About an hour ago Up About an hour 8080/tcp, 28015/tcp, 29015/tcp shipyard-rethinkdb ---------------------------------------------------------------------------------------- 1)RethinkDB deploy首先启动的就是RethinkDB容器,shipyard采用RethinkDB作为数据库来保存用户等信息 2)Discovery 为了使用Swarm,我们需要一个外部的密钥值存储群容器,shipyard默认是采用了etcd。 3)shipyard_certs 证书管理容器,实现证书验证功能 4)Proxy 默认情况下,Docker引擎只监听Socket,我们可以重新配置引擎使用TLS或者使用一个代理容器,转发请求从TCP到Docker监听的UNIX Socket。 5)Swarm Manager Swarm管理器 6)Swarm Agent Swarm代理,运行在每个节点上。 7)Controller shipyard控制器,Remote API的实现和web的实现。
3.2.2 页面访问
登录用户名/密码:admin/shipyard
3.3 使用
3.3.1 容器管理
部署容器:
操作容器:
3.3.2 镜像管理
下载镜像:
3.3.3 仓库管理
添加仓库:
3.3.4 账户管理
新增账户:
3.3.5 日志事件
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://www.hqyman.cn/post/11595.html 非本站原创文章欢迎转载,原创文章需保留本站地址!


休息一下~~