DockerCompose拉取DockerHub镜像,并部署OpenMetaData
参考博主:http://t.csdnimg.cn/i49ET
一、DockerCompose拉取DockerHub镜像
方法一(不太行):
在daemon.json文件中添加一些国内还在服务的镜像站(可能某些镜像会没有)
([ -f /etc/docker/daemon.json ] || mkdir -p /etc/docker) && echo '{ "registry-mirrors" : [ "https://docker.m.daocloud.io", "https://noohub.ru", "https://huecker.io", "https://dockerhub.timeweb.cloud" ] }' > /etc/docker/daemon.json && sudo systemctl restart docker && sleep 1 && docker info | grep -A 4 "Registry Mirrors"
方法二(亲测可用):
2、使用Github Action + Skopeo 工具将镜像从Docker Hub同步到阿里云个人镜像仓库中,再从阿里云个人镜像仓库中拉取
必要条件:魔法、GitHub账号、阿里云账号、DockerHub账号
阿里
(1)登陆https://help.aliyun.com/zh/acr/?source=5176.11533457&userCode=uelj47qf
选择容器服务、容器镜像服务,创建一个个人版实例
(2)点击”个人实例“进去新建一个命名空间,并设置一个访问凭证密码
GitHub
(1)然后访问GitHub,登陆账户后新建一个仓库,我这里新建的仓库名为”docker-register“
(2)点击进入仓库,然后点击setting,填入DcokerHub的账密
密码同理
(3)再点击仓库中的“Action”,我这里是已经有工作流了,你们的新仓库会有一个选项“simple workflow”,新建一个workflow,修改文件内容
文件内容如下:
记得修改username和password这两行,修改为刚刚的阿里云账号和设置的固定访问密码,最后一行需要更改为源和目标的仓库名称和镜像名称。
首先创建阿里的镜像仓库(分类存储)
name: Sync Image to Aliyun Example on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: build: runs-on: ubuntu-latest steps: - name: Git pull uses: actions/checkout@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2.9.1 - name: Login to Docker Hub uses: docker/login-action@v2.2.0 with: registry: registry.cn-chengdu.aliyuncs.com #注意这里 username: 阿里云账号 password: 固定访问密码 logout: false - name: Use Skopeo Tools Sync Image to Docker Hub run: | skopeo copy docker://mysql:8.0.18 docker://registry.cn-chengdu.aliyuncs.com/cqgcxy1227/mysql:8.0.18 # 使用 skopeo 工具将镜像同步到阿里云个人仓库中,使用时请自行源和目标修改仓库名称和镜像名称
保存配置,点击确定
再次点击actions;等待同步 绿色即为成功,此时返回阿里的mysql仓库查看
至此成功
如何使用(阿里有明确教程)
后续修改使用
后续如需拉取别的只需在github上修改配置文件即可:
二、部署OpenMetaData
参考官网教程OpenMetadata 文档:立即获取帮助 (open-metadata.org)
必要条件:docker(20.10.0及以上)、Docker Compose(v2.2.3及以上)
1.在 Linux 上安装 Docker
2.在 Linux 上安装 Docker Compose
(1)执行以下命令,下载当前稳定版的 Docker Compose
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
此命令为$HOME目录下的活动用户安装 Compose V2。要为系统上的所有用户安装 Docker Compose,请替换为 。 ~/.docker/cli-plugins/usr/local/lib/docker/cli-plugins
(2)将可执行文件权限应用于二进制文件
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
(3)测试安装
docker compose version > Docker Compose version v2.2.3
3.使用 Docker 部署 OpenMetadata 的步骤
(1)为 OpenMetadata 创建一个新目录并导航到该目录。
mkdir openmetadata-docker && cd openmetadata-docker
(2)从 GitHub 版本下载 Docker Compose.yml 文件 Release OpenMetadata 1.4.4 Release · open-metadata/OpenMetadata (github.com)
wget https://github.com/open-metadata/OpenMetadata/releases/download/1.4.1-release/docker-compose.yml
(3)修改 Docker Compose.yml 文件配置的镜像源——使用上面的方法将原文件的镜像拉取到阿里私人镜像方库(因为目前不能直接使用原文件内的镜像地址直接拉取)
首先我们将所有image后面的镜像拉取到自己的阿里镜像仓库(请查看第一部分如何如何拉取dockerhub的镜像到阿里私人镜像仓库)
将文件内image:后的所有地址改为自己拉取后的地址
修改成功后切换到docker-compose.yml文件所在目录
4.执行命令
这里我使用的自己配置的docker-compose.yml文件启动的
docker-compose -f docker-compose.yml up --detach # 使用 -f 指定一个完整的 Docker Compose 配置文件 docker compose --env-file ./env-mysql up --detach # 官网指令——使用 --env-file 指定一个环境变量文件来配置服务的环境变量
5.部署成功,访问页面
http://localhost:8585/
可以自己注册,也可以使用初始root账密:
账号:admin@openmetadata.org 密码:admin