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

  • 一、world-cup-2022-cli-dashboard介绍
    • 1.工具介绍
    • 2.数据看板的内容
  • 二、检查本地docker环境
    • 1.检查docker版本
    • 2.检查docker状态
  • 三、构建world-cup-2022-cli-dashboard的镜像
    • 1.下载world-cup-2022-cli-dashboard源码
    • 2.直接构建镜像
    • 3.构建镜像时指定镜像名称
    • 4.查看world-cup-2022-cli-dashboard镜像
  • 四、运行world-cup-2022-cli-dashboard容器
  • 五、创建world-cup-2022-cli-dashboard工具
    • 1.将world-cup-2022-cli-dashboard容器设置别名
    • 2.查看系统别名
  • 六、使用world-cup-2022-cli-dashboard工具
    • 1.运行world-cup-2022-cli-dashboard的临时容器
    • 2.切换比赛

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

1.工具介绍

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

2.数据看板的内容

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

二、检查本地docker环境

1.检查docker版本

[root@ecs-ff75 worldcup]# docker versionClient: 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:      trueServer: 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.sockDec 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.gitCloning 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 216Receiving objects: 100% (286/286), 1.71 MiB | 0 bytes/s, done.Resolving deltas: 100% (130/130), done.[root@ecs-ff75 worldcup]# lsworld-cup-2022-cli-dashboard

2.直接构建镜像

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

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

[root@ecs-ff75 worldcup]# docker build  world-cup-2022-cli-dashboard -t  world-cup-2022-cli-dashboardSending build context to Docker daemon  3.192MBStep 1/5 : FROM golang:1.19-alpine ---> c17d5d410602Step 2/5 : ENV TERM xterm-256color ---> Using cache ---> 58cab8848820Step 3/5 : ENV COLORTERM truecolor ---> Using cache ---> 101006beeb08Step 4/5 : RUN go install github.com/cedricblondeau/world-cup-2022-cli-dashboard@latest ---> Using cache ---> 444bf96ddcc5Step 5/5 : ENTRYPOINT world-cup-2022-cli-dashboard ---> Using cache ---> 0b4224ef9737Successfully built 0b4224ef9737Successfully tagged world-cup-2022-cli-dashboard:latest

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

[root@ecs-ff75 worldcup]# docker imagesREPOSITORY                     TAG           IMAGE ID       CREATED         SIZEworld-cup-2022-cli-dashboard   latest        0b4224ef9737   5 minutes ago   391MBgolang                         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]# aliasalias 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.切换比赛