发布自己的Docker镜像到DockerHub

2024-04-23 06:28
文章标签 镜像 docker 发布 dockerhub

本文主要是介绍发布自己的Docker镜像到DockerHub,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学会了Dockerfile生成Docker image 之后,如何上传自己的镜像到 DockerHub呢?下面我以自己制作的 bs-cqhttp 镜像为例,演示一下如何将自己的镜像发布到 Docker 仓库。

1 生成自己的 Docker 镜像

1.1 实例镜像用到的文件

图1  实例镜像制作用到的文件

图1 实例镜像制作用到的文件

镜像需要用到上面的5个文件,请按此目录结构放置好文件,1.2.0版本的文件下载请参考前文:docker安装并跑通QQ机器人实践(4)-bs-cqhttp搭建。

1.2 bs-cqhttp 的 Dockerfile 文件

此镜像在以前的文章讲过,此处就不多解释,内容如下:

# 引用官方的轻量级基础镜像
FROM alpine:3.10# 定义作者信息
LABEL MAINTAINER="tanbushi@qq.com"# 设置国内源更新系统、安装 bash
RUN echo "https://mirrors.ustc.edu.cn/alpine/v3.13/main" > /etc/apk/repositories && \echo "https://mirrors.ustc.edu.cn/alpine/v3.13/community" >> /etc/apk/repositories && \apk update && apk upgrade && \apk add tzdata bash && \cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \echo "Asia/Shanghai" > /etc/timezone# 设置环境变量
ENV WORK_DIR /app/bs-cqhttp# 设置工作目录
WORKDIR $WORK_DIR# 拷贝运行时文件(go-cqhttp v1.2.0 内核文件)
COPY ./copy_into_volume /opt/app/bs-cqhttp/copy_into_volume/
COPY entrypoint.sh /root/bs-cqhttp/entrypoint.shENTRYPOINT [ "/bin/bash", "-c", "/root/bs-cqhttp/entrypoint.sh" ]

编译生成 image 文件,命令如下:

docker build -n tanbushi/bs-cqhttp:1.1.0 .

即会生成名为:tanbushi/bs-cqhttp:1.0.0 的镜像文件。
图2  生成的镜像文件

图2 生成的镜像文件

2 镜像发布

首先,需要有 github 账号,怎么注册,自行网查。此处假设您已经有了 github 账号。

2.1 登录 dockerhub

网页访问:https://hub.docker.com/,并登录。
图3  创建镜像仓库

图3 创建镜像仓库

点击创建仓库
图4  创建镜像仓库-属性填写
图4 创建镜像仓库-属性填写

选择分类:
图5  镜像仓库分类设置
图5 镜像仓库分类设置

2.2 上传到dockerhub

1)打标记

docker tag tanbushi/bs-cqhttp:1.0.0 tanbushi/bs-cqhttp:1.0.0

2)上传

docker push tanbushi/bs-cqhttp:1.0.0

即可完成上传!

3 测试拉取:

docker pull tanbushi/cqhttp:1.0.0

拉取成功!

这篇关于发布自己的Docker镜像到DockerHub的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/928020

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群