【2022世界杯开源项目实战】使用docker部署world-cup-2022-cli-dashboard数据看板工具

简介: 【2022世界杯开源项目实战】使用docker部署world-cup-2022-cli-dashboard数据看板工具

@TOC

一、world-cup-2022-cli-dashboard介绍

1.工具介绍

world-cup-2022-cli-dashboard是一款2022 年世界杯 CLI 仪表板工具。可通过这个看板获取相关世界杯比赛详细信息。

2.数据看板的内容

⚽现场比赛(进球、预订、换人)
🗒️球队阵容
📅预定和过去的比赛
📊榜

二、检查本地docker环境

1.检查docker版本

[root@ecs-ff75 worldcup]# docker version
Client: Docker Engine - Community
 Version:           20.10.21
 API version:       1.41
 Go version:        go1.18.7
 Git commit:        baeda1f
 Built:             Tue Oct 25 18:04:24 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.7
  Git commit:       3056208
  Built:            Tue Oct 25 18:02:38 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.10
  GitCommit:        770bd0108c32f3fb5c73ae1264f7e503fe7b2661
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

2.检查docker状态

[root@ecs-ff75 worldcup]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-12-03 00:31:49 CST; 21min ago
     Docs: https://docs.docker.com
 Main PID: 8283 (dockerd)
    Tasks: 9
   Memory: 464.6M
   CGroup: /system.slice/docker.service
           └─8283 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Dec 03 00:31:49 ecs-ff75 dockerd[8283]: time="2022-12-03T00:31:49.881153099+08:00" level=info msg="Daemon has completed initialization"
Dec 03 00:31:49 ecs-ff75 systemd[1]: Started Docker Application Container Engine.
Dec 03 00:31:49 ecs-ff75 dockerd[8283]: time="2022-12-03T00:31:49.909840654+08:00" level=info msg="API listen on /var/run/docker.sock"
Dec 03 00:33:40 ecs-ff75 dockerd[8283]: time="2022-12-03T00:33:40.907384993+08:00" level=info msg="Layer sha256:38a9ab4169808f74248d152a73b8dc2441d50d8...leaned up"
Dec 03 00:33:41 ecs-ff75 dockerd[8283]: time="2022-12-03T00:33:41.025072845+08:00" level=info msg="Layer sha256:38a9ab4169808f74248d152a73b8dc2441d50d8...leaned up"
Dec 03 00:33:48 ecs-ff75 dockerd[8283]: time="2022-12-03T00:33:48.545709116+08:00" level=info msg="ignoring event" container=fc9f70b878e60a809971445741...askDelete"
Dec 03 00:33:49 ecs-ff75 dockerd[8283]: time="2022-12-03T00:33:49.200137067+08:00" level=info msg="Layer sha256:c0ab059db9d82cb1a277976e4b0b5c729ab7df6...leaned up"
Dec 03 00:36:27 ecs-ff75 dockerd[8283]: time="2022-12-03T00:36:27.309079392+08:00" level=info msg="ignoring event" container=01e7d89b56f4e8fdd2246d96ef...askDelete"
Dec 03 00:49:08 ecs-ff75 dockerd[8283]: time="2022-12-03T00:49:08.153074321+08:00" level=info msg="ignoring event" container=a634f6293cc5fd92d115eefd09...askDelete"
Dec 03 00:52:49 ecs-ff75 dockerd[8283]: time="2022-12-03T00:52:49.917432199+08:00" level=info msg="ignoring event" container=8e3883a46406c42797680b7b52...askDelete"
Hint: Some lines were ellipsized, use -l to show in full.

三、构建world-cup-2022-cli-dashboard的镜像

1.下载world-cup-2022-cli-dashboard源码

[root@ecs-ff75 worldcup]# git  clone  https://github.com/cedricblondeau/world-cup-2022-cli-dashboard.git
Cloning into 'world-cup-2022-cli-dashboard'...
remote: Enumerating objects: 286, done.
remote: Counting objects: 100% (70/70), done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 286 (delta 30), reused 38 (delta 17), pack-reused 216
Receiving objects: 100% (286/286), 1.71 MiB | 0 bytes/s, done.
Resolving deltas: 100% (130/130), done.
[root@ecs-ff75 worldcup]# ls
world-cup-2022-cli-dashboard

2.直接构建镜像

[root@ecs-ff75 worldcup]# docker build  world-cup-2022-cli-dashboard
Sending build context to Docker daemon  3.192MB
Step 1/5 : FROM golang:1.19-alpine
1.19-alpine: Pulling from library/golang
c158987b0551: Pull complete 
019cfb932eb0: Pull complete 
4deb04624f23: Pull complete 
1400322eb6d1: Pull complete 
Digest: sha256:8bd8a4b55b233ea77a81250f83637553ef9e3348c5a0cc3ce440c5d45bf7d51d
Status: Downloaded newer image for golang:1.19-alpine
 ---> c17d5d410602
Step 2/5 : ENV TERM xterm-256color
 ---> Running in b6b16092f715
Removing intermediate container b6b16092f715
 ---> 58cab8848820
Step 3/5 : ENV COLORTERM truecolor
 ---> Running in 5229d2ed04b2
Removing intermediate container 5229d2ed04b2
 ---> 101006beeb08
Step 4/5 : RUN go install github.com/cedricblondeau/world-cup-2022-cli-dashboard@latest
 ---> Running in fc9f70b878e6
go: downloading github.com/cedricblondeau/world-cup-2022-cli-dashboard v1.2.1
go: downloading github.com/charmbracelet/bubbletea v0.23.1
go: downloading github.com/charmbracelet/bubbles v0.14.0
go: downloading github.com/charmbracelet/lipgloss v0.6.0
go: downloading github.com/containerd/console v1.0.3
go: downloading github.com/mattn/go-isatty v0.0.16
go: downloading github.com/mattn/go-localereader v0.0.1
go: downloading github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b
go: downloading github.com/muesli/cancelreader v0.2.2
go: downloading github.com/muesli/reflow v0.3.0
go: downloading github.com/muesli/termenv v0.13.0
go: downloading golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
go: downloading github.com/mattn/go-runewidth v0.0.14
go: downloading golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab
go: downloading github.com/rivo/uniseg v0.2.0
go: downloading github.com/aymanbagabas/go-osc52 v1.0.3
go: downloading github.com/lucasb-eyer/go-colorful v1.2.0
Removing intermediate container fc9f70b878e6
 ---> 444bf96ddcc5
Step 5/5 : ENTRYPOINT world-cup-2022-cli-dashboard
 ---> Running in 178e01b73eaa
Removing intermediate container 178e01b73eaa
 ---> 0b4224ef9737
Successfully built 0b4224ef9737

3.构建镜像时指定镜像名称

[root@ecs-ff75 worldcup]# docker build  world-cup-2022-cli-dashboard -t  world-cup-2022-cli-dashboard
Sending build context to Docker daemon  3.192MB
Step 1/5 : FROM golang:1.19-alpine
 ---> c17d5d410602
Step 2/5 : ENV TERM xterm-256color
 ---> Using cache
 ---> 58cab8848820
Step 3/5 : ENV COLORTERM truecolor
 ---> Using cache
 ---> 101006beeb08
Step 4/5 : RUN go install github.com/cedricblondeau/world-cup-2022-cli-dashboard@latest
 ---> Using cache
 ---> 444bf96ddcc5
Step 5/5 : ENTRYPOINT world-cup-2022-cli-dashboard
 ---> Using cache
 ---> 0b4224ef9737
Successfully built 0b4224ef9737
Successfully tagged world-cup-2022-cli-dashboard:latest

4.查看world-cup-2022-cli-dashboard镜像

[root@ecs-ff75 worldcup]# docker images
REPOSITORY                     TAG           IMAGE ID       CREATED         SIZE
world-cup-2022-cli-dashboard   latest        0b4224ef9737   5 minutes ago   391MB
golang                         1.19-alpine   c17d5d410602   20 hours ago    354MB

四、运行world-cup-2022-cli-dashboard容器

运行world-cup-2022-cli-dashboard容器,快速进行cli-dashboard的界面。

[root@ecs-ff75 worldcup]# docker run -ti -e TZ=Asia/Shanghai  world-cup-2022-cli-dashboard

在这里插入图片描述

五、创建world-cup-2022-cli-dashboard工具

1.将world-cup-2022-cli-dashboard容器设置别名

[root@ecs-ff75 worldcup]# alias worldcup='docker run -it --rm -e TZ=America/Toronto world-cup-2022-cli-dashboard'
[root@ecs-ff75 worldcup]#

2.查看系统别名

[root@ecs-ff75 worldcup]# alias worldcup='docker run -it --rm -e TZ=America/Toronto world-cup-2022-cli-dashboard'
[root@ecs-ff75 worldcup]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias worldcup='docker run -it --rm -e TZ=America/Toronto world-cup-2022-cli-dashboard'

六、使用world-cup-2022-cli-dashboard工具

1.运行world-cup-2022-cli-dashboard的临时容器

worldcup

在这里插入图片描述

2.切换比赛

在这里插入图片描述
在这里插入图片描述

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
66 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
11天前
|
关系型数据库 数据管理 应用服务中间件
【赵渝强老师】Docker的数据持久化
在生产环境中使用Docker时,为了实现数据的持久化和共享,可以通过数据卷(Data Volumes)和数据卷容器(Data Volume Containers)两种方式来管理数据。数据卷是一个独立于容器的挂载目录,可以跨多个容器共享和重用。数据卷容器则是一种特殊容器,用于维护数据卷,便于数据迁移和共享。本文通过示例详细介绍了这两种方法的使用步骤。
|
11天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
11天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
26 1
|
11天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
39 0
|
网络协议 Java Maven
docker将数据从宿主机挂载到容器的方式(二)
docker将数据从宿主机挂载到容器的方式(二)
496 0
docker将数据从宿主机挂载到容器的方式(二)
|
存储 Docker 容器
docker将数据从宿主机挂载到容器的方式(一)
docker将数据从宿主机挂载到容器的方式(一)
399 0
docker将数据从宿主机挂载到容器的方式(一)
|
9天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
38 2
|
7天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
15天前
|
关系型数据库 MySQL API