构建自定义docker镜像,上传至docker hub

docker 优势 (外部参考)

Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后
发布到任何流行的Linux机器上,便可以实现虚拟化。Docker改变了虚拟化的方
式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是
Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。

安装docker(请参考外部链接)

[Ubuntu Docker 安装](http://www.runoob.com/docker/ubuntu-docker-install.html)
[CentOS Docker 安装](http://www.runoob.com/docker/centos-docker-install.html)
[Windows Docker 安装](http://www.runoob.com/docker/windows-docker-install.html)
[MacOS Docker 安装](http://www.runoob.com/docker/macos-docker-install.html)

本次构建自定义docker镜像流程

我们可以通过以下两种方式对镜像进行更改。
    * 从已经创建的容器中更新镜像,并且提交这个镜像(本次使用)
    * 使用 Dockerfile 指令来创建一个新的镜像(新手不推荐)

1.下载官方centos镜像(本次已centos做实例)

2.运行这个容器 docker run -i -t centos /bin/bash[见图1]

    参数说明
        * -t:在新容器内指定一个伪终端或终端。
        *  -i:允许你对容器内的标准输入 (STDIN) 进行交互。

3.提交一个 docker commit -m="richard server" -a="zhuzhida" b3a4179ec677 richard/centos:v1 [见图1]

各个参数说明:
    -m:提交的描述信息
    -a:指定镜像作者
    b3a4179ec677:容器ID
    richard/centos:v1:指定要创建的目标镜像名

图1

4.进入自己定义的镜像中安装自己所需 相应软件

    安装nginx教程 https://www.cnblogs.com/liujuncm5/p/6713784.html
    安装 MongoDB 。。。等软件
    安装完成后 ctrl+ d 退出伪终端
    将容器转化为镜像 执行命令 `docker commit -m="added nginx+mongdb+git+node" -a="zhuzhida" ca5ca7798a24 richard/centos:v4`
    ca5ca7798a24 为 docker ps -a 中的伪终端 值

5.提交到docker hub

    在docker hub 上创建 账号密码 并创建仓库 [见图5]
    给镜像打标签 镜像打标签后才可以进行push [见图6]
        `docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]`

    登录 `docker login` push 镜像 [见图6]

图5 在docker hub 上创建 账号密码 并创建仓库

图6 给镜像打标签,登录上传

6.登录docker hub 发现已经上传成功

下篇 在服务器上安装 docker hub 中的私有镜像

参考文章

https://www.jianshu.com/p/dd364b59b774 https://www.jianshu.com/p/fb237c7eb48c https://blog.csdn.net/Prepared/article/details/68940997?locationNum=10&fps=1

原文地址:https://www.cnblogs.com/richard1015/p/10481652.html

时间: 2024-08-26 19:02:48

构建自定义docker镜像,上传至docker hub的相关文章

docker 镜像 上传到docker hub

需要按照如下步骤处理: 我一直没有第三步,一直没有成功,直到尝试了一次docker tag ,上传docker hub就没有出现问题了. step1--找到本地镜像的ID:docker images step2--登陆Hub:docker login --username=username --password=password --email=email step3--tag:docker tag <imageID> <namespace>/<image name>:

如何将自己的镜像上传到docker hub上面

1.首先需要拥有自己的Docker hub账号 2.使用Docker hub账号在验证本地登录#docker login输入用户名和密码 3.先docker images看看本地的镜像 #docker images 如果REPOITORY的名不是你Docker hub账号和仓库,即Docker ID/仓库名,是上传不成功的 使用docker tag 镜像ID 用户名称/镜像源名 :新的标签名(tag) 来更改 #docker tag 861661772e3e liuxianhuacn/nginx

将本地docker镜像上传至阿里云镜像仓库

1.登录阿里云镜像仓库--username后面跟上账户名,以及服务器地址2.查看本次docker镜像docker images 或者docker images ls3.push我们需要上传至阿里云镜像仓库的docker镜像注意:1).仓库名必须与阿里云所在仓库名相匹配2).非docker-hub的镜像仓库,名称空间前需要指明服务器地址,及这里的registry.cn-hangzhou.aliyuncs.com4.在阿里云镜像仓库即可看到我们上传的docker镜像 原文地址:https://blo

本地docker镜像上传到腾讯云镜像仓库。

和上篇上传到Docker Hub类似,只是登录时切换成腾讯云镜像仓库地址(ccr.ccs.tencentyun.com/longdbtencentdocker/publongdb)即可. docker login --username=账号ID ccr.ccs.tencentyun.com/longdbtencentdocker/publongdb 开始一直不成功是因为网上说的,用注册时的账号(我用qq号注册的腾讯云)login即可. 后来用腾讯云对应的账号ID就成功啦. 账号ID可以在账号信息

jenkins构建docker镜像上传到harbor并发布到kubernetes

很早之前写过一篇jenkins集成docker的文章,使用的是CloudBees Docker Build and Publish plugin插件.这篇文章是直接使用shell脚本做的,主要是这次有一个需求是检测harbor仓库里面是否已经存在要构建的镜像,如果存在就放弃构建,如果不存在则构建镜像并上传到harbor仓库,我这里是通过请求harbor的api来检测的. 整个过程大致分为四个步骤,画了一个简单图: 1.在jenkins上构建一个自由风格的软件项目. 2.源码管理使用git. 这里

Docker 如何把镜像上传到docker hub

1 首先你得准备一个hub 的帐号, 去 https://hub.docker.com 注册吧! 2 在hub那里新建一个仓库, 这个就类似于github那边的..create ---> create repository(创建知识库) 然后随便搞个名字, 我这里就叫ubuntu吧 所以路径就是wherein/ubuntu了 3 运行 docker ps 查看容器, 这里就是要获取到CONTAINER ID嘛 4 commit一个容器  命令: docker commit CONTAINER I

docker自定义镜像上传阿里云

1.alpine制作jdk镜像 2.Alpine制作jre镜像(瘦身) 3.Docker镜像上传至阿里云 alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗. 2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://pkgs.alpineli

自定义镜像上传阿里云

alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗. 2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://pkgs.alpinelinux.org/packages 查询包信息 3.Alpine Docker镜像继承了Alpine Lin

alpine制作jdk、jre镜像、自定义镜像上传阿里云

alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗. 2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://pkgs.alpinelinux.org/packages 查询包信息 3.Alpine Docker镜像继承了Alpine Lin

[python](Docker SDK)上传镜像到私有仓库(ssl、身份认证)

(Docker SDK)上传镜像到私有仓库(ssl.身份认证) API:https://docker-py.readthedocs.io/en/stable/ 环境:python:3.7.3 配置参数: cert = os.path.join(BASE_DIR, "utils/cert.pem") key = os.path.join(BASE_DIR, "utils/key.pem") docker_server = "xx.xx.xx.xx:5555&