Docker如何制作自己镜像并上传dockerhub

1.首先注册自己的dockerhub账号,注册地址:https://hub.docker.com

2.在linux服务器登录自己的账号:docker login --username=qiaoyeye

3.在https://hub.docker.com/上先找到自己想要的镜像

4.拉取镜像到本地:docker pull centos

5.本地准备jdk和tomcat软件,解压后放入服务器

6.新建Dockerfile文件,注意区分大小写

#---------------------------------------------------------------------

#This is a comment注释

#使用基础镜像centos:latest

FROM centos:latest
#指定镜像创建者信息

MAINTAINER qiaoyeye <<A href="mailto:softadmin@163.com@163.com" rel="external nofollow" >softadmin@163.com>

#切换镜像的目录,进入/usr目录(基础镜像是一个linux系统,可参照linux查看相应目录)
WORKDIR /usr

#在/usr/下创建java目录,用来存放jdk
RUN mkdir java

#切换镜像的目录至/usr/java
WORKDIR /usr/java

#在/usr/java下创建jdk目录,用来存放jdk文件
RUN mkdir jdk

#切换镜像的目录至/usr/java/jdk
WORKDIR /usr/java/jdk

#将宿主机的jdk目录下的全部文件考入至镜像的/usr/java/jdk目录下
ADD jdk /usr/java/jdk

#切换镜像的目录至/opt
WORKDIR /opt

#在/opt下创建tomcat目录,用来存放tomcat文件
RUN mkdir tomcat

#将宿主机的tomcat目录下的全部文件考入至镜像的/opt/tomcat目录下
ADD tomcat /opt/tomcat

#设置环境变量

ENV JAVA_HOME=/usr/java/jdk
ENV JAVA_BIN=/usr/java/jdk/bin
ENV PATH=$PATH:$JAVA_HOME/bin
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#设置容器启动时执行的操作

CMD /opt/tomcat/bin/catalina.sh run

#---------------------------------------------------------------------

7.制作镜像:docker build -tqiaoyeye/centos:latest.

注意带最后面的一个点

8.查看制作的镜像docker images

9.上传镜像值hub仓库。

docker pushqiaoyeye/centos:latest

10.如果上传的镜像不是你的dockerhub和镜像名:Docker ID/仓库名,就先用:docker tag 镜像ID Docker ID/仓库名:新的标签名(tag)

sudo docker tag bd213262aa2cqiaoyeye/centos:latest

11.上传成功后,登录自己的dockerhub,查看

PS:怎么将镜像上传至阿里云???

上传镜像至阿里云的步骤同上,详细餐卡官方说明:https://cr.console.aliyun.com/repository/cn-beijing/qiaoyeye/test1/details

1.登录阿里云Docker Registry

$ sudo docker login --username=乔叶叶 registry.cn-beijing.aliyuncs.com

用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

您可以在产品控制台首页修改登录密码。

2.从Registry中拉取镜像

$ sudo docker pull registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[镜像版本号]

3.将镜像推送到Registry

$ sudo docker login --username=乔叶叶 registry.cn-beijing.aliyuncs.com$ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[镜像版本号]$ sudo docker push registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[镜像版本号]

请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。

4.选择合适的镜像仓库地址

从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。

如果您使用的机器位于经典网络,请使用registry-internal.cn-beijing.aliyuncs.com作为Registry的域名登录,并作为镜像命名空间前缀。

如果您使用的机器位于VPC网络,请使用registry-vpc.cn-beijing.aliyuncs.com作为Registry的域名登录,并作为镜像命名空间前缀。

5.示例

使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。

$ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEregistry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB$ sudo docker tag 37bb9c63c8b2 registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

使用"docker images"命令找到镜像,将该镜像名称中的域名部分变更为Registry专有网络地址。

$ sudo docker push registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Docker镜像推送(push)到Docker Hub的实现

    镜像构建成功后,只要有docker环境就可以使用,但必须将镜像推送到Docker Hub上去.我们之前创建的镜像不符合Docker Hub的tag要求,因为 在Docker Hub注册的用户名是boonyadocker而不是boonya,所以需要docker tag进行修改,最后利用docker push命令推送镜像到公共仓库. Docker hub注册用户 到官网注册账号:https://hub.docker.com/ 在本地Linux登录docker: docker login 输入用户名密

  • Docker 教程之Docker Hub详细介绍

    Docker Hub 仓库(Repository)是集中存放镜像的地方. 一个容易混淆的概念是注册服务器(Registry).实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像.从这方面来说,仓库可以被认为是一个具体的项目或目录.例如对于仓库地址 dl.dockerpool.com/ubuntu 来说,dl.dockerpool.com 是注册服务器地址,ubuntu 是仓库名. 大部分时候,并不需要严格区分这两者的概念. 目前 Docker 官方维护了

  • 如何自己搭建DockerHub实现过程解析

    前面我们使用的Docker Hub是由Docker官方提供的,我们也可以搭建自己的Docker,搭建方式也很容器,因为 Docker官方已经将Docker注册服务器做成镜像了,我们直接pull下来运行即可.具体步骤如下: 拉取镜像 运行如下命令拉取registry官方镜像: docker pull registry 运行 接下来运行如下命令将registry运行起来,如下: docker run -itd --name registry -p 5000:5000 2e2f252f3c88 运行成

  • Docker Hub运行原理及实现过程解析

    类似于GitHub提供的代码托管服务,Docker Hub提供了镜像托管服务,Docker Hub地址为https://hub.docker.com/,利用Docker Hub读者可以搜索.创建.分享和管理镜像.Docker Hub上的镜像分为两大类,一类是官方镜像,例如我们之前用到的nginx.mysql等,还有一类是普通的用户镜像,普通用户镜像由用户自己上传.对于国内用户,如果觉得Docker Hub访问速度过慢,可以使用国内一些公司提供的镜像,例 如网易:https://c.163yun.

  • DockerHub 镜像仓库的使用详解

    之前我们使用的镜像都是从 DockerHub 公共仓库拉取的,我们也学习了如何制作自己的镜像,但是通过 tar 包的方式实现镜像的备份恢复迁移对于团队协作开发并不是特别友好,我们也可以将镜像推送至 DockerHub 仓库方便使用. 温馨提示:如果构建的镜像内携带了项目数据,建议还是使用私有仓库比较好. 注册账号 官网:https://hub.docker.com/ 登录账号 通过 docker login 命令输入账号密码登录 DockerHub. 推送镜像至仓库 为了方便测试,我们将 hel

  • 详解如何使用DockerHub官方的MySQL镜像

    前言 最近一直在尝试以官方centos镜像为基础,制作基于centos的MySQL镜像.但是制作后发现镜像大小已经超过1.5G,这对于一般的Docker镜像来说太臃肿了.Docker Hub官方提供的mysql镜像才324MB.目前来说我还没有找到什么好的方法把我制作的镜像的体积减下来,所以就先使用官方的吧! docker pull mysql:5.7 如何使用这个Docker镜像? 1.启动一个Mysql Server容器(默认端口3306) docker run --name mysql -

  • 如何将本地构建好的docker镜像发布到dockerhub

    今天我们介绍如何将本地docker项目镜像发布到dockerhub上,好了废话不多说,直接进入正题: (1)去注册dockerhub账号: (2)账号注册好之后,我们创建一个仓库,用于存放镜像 (3)到这一步,我们已经可以看到创建成功界面 仓库路径:nbidashboard/nbiplatform (4)查看本地容器信息 sudo docker ps (5)提交容器: sudo docker commit CONTAINER ID nbidashboard/nbiplatform sudo do

  • Docker如何制作自己镜像并上传dockerhub

    1.首先注册自己的dockerhub账号,注册地址:https://hub.docker.com 2.在linux服务器登录自己的账号:docker login --username=qiaoyeye 3.在https://hub.docker.com/上先找到自己想要的镜像 4.拉取镜像到本地:docker pull centos 5.本地准备jdk和tomcat软件,解压后放入服务器 6.新建Dockerfile文件,注意区分大小写 #----------------------------

  • Docker创建自己的镜像与上传流程详解

    目录 引入 了解Docker的资源隔离和主机模式 创建 centos7 容器 部署mysql5.7 创建Docker Hub仓库 生成镜像 提交镜像 引入 在部署毕节服务器时遇到了个问题:   因为在三台服务器做好ovirt-engine超融合后,在主节点服务器上部署可视化平台需要安装mysql5.7,但是安装mysql时需要卸载一些依赖,但是由于怕影响原有的postgresql数据库和ovirt-engine的服务组件,选择了用docker容器部署mysql数据库.   在顺利创建好容器,配置

  • docker镜像无法上传的解决方法

    前言 首先来解决一个问题,前面楼主出现了在push镜像出错的问题,楼主想不明白为啥在push的时候会出错,今天看到了一篇文章,准确的说是官网的介绍. 如果需要把本地镜像push到daocloud的镜像仓库(也就是私有仓库),需要执行以下步骤: 首先需要为镜像打一个tag,在tag操作时,需要使用镜像的iamgeID.另外,请注意tag操作时,需要指明你的daocloud用户ID,这样才会把镜像push到您的仓库,否则默认是到dalcloud仓库的根目录,这个目录普通用户并无权限,所以在push时

  • Docker容器如何更新打包并上传到阿里云

    这次来尝试如何将已经运行的容器打包,封装成镜像,并且上传到阿里云上,为了别的地方下载和使用更加的方便. 毕竟有Docker安装不难,问题是一些特殊的配置麻烦,所以直接制作好,下次直接拉取了运行就会简单的多了 首先,进入镜像,如果不清楚地,可以看下上一章. [root@VM_0_4_centos bin]# docker exec -it 8bf811453641 /bin/bash 然后更新镜像: root@8bf811453641:/# apt-get update 这里更新后需要退出: ex

  • docker-maven-plugin打包镜像并上传到私有仓库

    目录 1.docker-maven-plugin 介绍 2.环境.软件准备 3.Demo 示例 3.1 配置 DOCKER_HOST 3.2 示例构建镜像 3.3 执行命令 3.4 绑定Docker 命令到 Maven 各个阶段 3.5 使用私有 Docker 仓库地址 3.6 安全认证配置 3.7 其他参数 4.FAQ 1.docker-maven-plugin 介绍 在我们持续集成过程中,项目工程一般使用 Maven 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时能够快速动

  • 使用脚本一键打包并上传docker镜像的实现代码

    笔者搞了一年多微前端项目,一个团队管理十个微应用,换成docker镜像部署后,发布操作一下从原来的脚本直连服务器的1分钟变成了几十分钟,尤其上传每个应用到各自的阿里云仓库.这里就再写个脚本一键打包docker镜像并上传阿里云. 本文只讲怎么制作一个脚本帮助去减轻开发人员负担,关于docker-compose的配置见: 使用各种姿势舒服的部署微前端项目(上:打包与上传) 效果图 直接上代码 /** * @name docker镜像打包上传脚本 * @author weilan * @time 20

  • Docker上传镜像至私有仓库的方法示例

    镜像可以很方便直接 push 到 docker 的公共仓库,就好像 github 一样,但是我们在开发中很多时候都不想公开镜像文件,这时就需要搭建 docker 的私有仓库,就好像 gitlab 一样. 在 上一篇 构建出镜像后,我们可以部署一个私有镜像仓库用来存放我们的镜像. 启动私有 Registry 启动一个私有仓库也非常简单,在服务器上执行命令 复制代码 代码如下: docker run -d -p 5000:5000 --name="docker-registry" --re

  • Spring Boot 打包上传Docker 仓库的详细步骤

    重要提示:学习本文之前需要提前了解docker容器相关的知识,了解和熟练运用常用的docker操作命令,如果已经了解了docker容器相关的知识那我们就开搞吧! 以下是完成标题所述功能的大致步骤: 搭建docker镜像仓库 修改Spring Boot 配置文件添加docker仓库配置,打包,上传至docker 镜像仓库 从自己搭的docker镜像仓库拉取上传的镜像文件并运行 Step1 搭建docker镜像私有仓库 搭建docker镜像仓库我们需要依赖docker-registry工具 ,doc

  • 使用Docker构建企业级自定义镜像的方法

    前言 临下班前,楼主接到了一个需求,由于基础镜像标准发生变更,需要按照最新的Docker 镜像标准构建自己应用的自定义镜像.目前的标准是这样的:基础架构组只提供所有项目必须接入的3个公共镜像,这3个公共基础镜像包含了:JDK8.Skywalking.Arthas.对于各自业务组的应用如果还需要加入其它镜像,则由各个业务组自己基于基础架构组提供的公共镜像之上,再添加自定义的镜像,结构图如下: 构建步骤 编写Dockerfile 基于最新的规范来看,我们需要编写一个Dockerfile,然后引用基础

  • 前端大文件上传与下载(分片上传)的详细过程

    目录 一.问题 二.解决 1.第一步选择文件 2.校验文件是否符合规范 3.文件切片上传 4.分片上传注意点 5.大文件下载 总结 一.问题 日常业务中难免出现前端需要向后端传输大型文件的情况,这时单次的请求不能满足传输大文件的需求,就需要用到分片上传 业务需求为:用户可以上传小于20G的镜像文件,并进显示当前上传进度 前端:vue3.x+Element Plus组件+axios 二.解决 解决思路简单为前端选择文件后读取到文件的基本信息,包括:文件的大小.文件格式等信息,用于前端校验,校验完成

随机推荐