首页 > 其他分享 >Docker将容器制作成镜像并上传docker hub仓库

Docker将容器制作成镜像并上传docker hub仓库

时间:2023-11-10 17:01:08浏览次数:44  
标签:容器 hub 仓库 tag 镜像 Docker docker

前言

在使用docker时候常常需要把自己配置好环境的容器制作成镜像并上传到docker hub以便之后拉取。本篇文章就是介绍如何将docker容器制作成镜像并上传到docker hub。

背景

很多docker hub上拉下来的镜像,通过修改配置文件等操作,定制成了适合自己的镜像,以后用自己的镜像就可以,因此需要上传到docker hub,以后可以像代码一样管理维护自己的docker镜像。

1.注册docker hub账号

访问Docker Hub官网

https://hub.docker.com/

2.docker hub上创建仓库

Docker将容器制作成镜像并上传docker hub仓库_Docker

创建成功如下图:

Docker将容器制作成镜像并上传docker hub仓库_docker_02

3.打包容器

3-1 查看容器列表

首先是查看容器:在命令台中键入 docker ps -a 命令,得到如下界面。

Docker将容器制作成镜像并上传docker hub仓库_Docker_03

3-2 从容器创建一个新镜像

docker commit 命令主要是实现从容器创建一个新镜像。

# docker commit 容器名 镜像名:版本名(若没有版本名 则直接默认为latest)docker commit CONTAINER <hub-user>/<repo-name>:<tag>

这里的tag不指定就是latest。

Docker将容器制作成镜像并上传docker hub仓库_docker_04

Docker将容器制作成镜像并上传docker hub仓库_上传_05

sha256是镜像文件的校验码。

3-3 打本地标签tag

在上传之前,先给本地镜像打个tag标签,相当于重新复制镜像并重命名为docker账户名/仓库名称

# docker tag 本地镜像:tag docker账号/docker仓库:tagdocker tag <existing-image> <hub-user>/<repo-name>[:<tag>]
docker images

Docker将容器制作成镜像并上传docker hub仓库_Docker_06

4. 本地登录

docker hub 帐号在本地验证登陆

docker login

Docker将容器制作成镜像并上传docker hub仓库_docker_07

5.push 镜像到docker hub 的仓库

# docker push docker账号/仓库名称:tagnamedocker push <hub-user>/<repo-name>:<tag>

Docker将容器制作成镜像并上传docker hub仓库_docker_08

6.验证

6.1 命令验证

docker inspect : 获取容器/镜像的元数据。

# docker inspect [OPTIONS] NAME|ID [NAME|ID...]docker inspect image

Docker将容器制作成镜像并上传docker hub仓库_docker_09

6.2 线上仓库验证

上传完成后打开自己的docker hub账号,查看镜像仓库

Docker将容器制作成镜像并上传docker hub仓库_Docker_10

7.pull 拉取镜像

docker login
# docker rmi <hub-user>/<repo-name>:<tag>
# docker pull 你自己的镜像名称docker pull <hub-user>/<repo-name>:<tag>

Docker将容器制作成镜像并上传docker hub仓库_docker_11

收录于合集 #镜像

上一篇使用Docker部署Minio


标签:容器,hub,仓库,tag,镜像,Docker,docker
From: https://blog.51cto.com/u_64214/8305036

相关文章

  • docker修改宿主机为容器映射的端口
    1.先关闭容器root1@ubuntu22:~$dockerstop0912.再停止docker服务root1@ubuntu22:~$sudostopdocker3.进入配容器置文件目录修改hostconfig.json文件root@ubuntu22:/var/lib/docker/containers/091302dc373cfa10d414a115276a2a18304052721df6f59c85138......
  • docker 搭建 matebase
    环境搭建docker/mnt/docker_data/metabase是你本地一个有权限的目录dockerrun-d-p3000:3000-v/mnt/docker_data/metabase:/tmp-e"MB_DB_FILE=/tmp/metabase.db"--namemetabasemetabase/metabasedocker-compose启动version:'2'services:metabase:ima......
  • 【docker】Mac M1 构建 x64 linux镜像
    亲测教程,跨平台镜像构建[toc]首先首先你需要有一个Dockerfile比如:这里以一个python项目举例FROMpython:3.10-slimWORKDIR/appCOPYrequirements.txtrequirements.txtRUNpipinstall--no-cache-dir-rrequirements.txtCOPY..CMD["python","bin/run.py"]构建......
  • docker 跨平台构建镜像
    我们在开发环境构建的镜像在生产环境大多不可用,我们在开发中一般使用Windows或者MAC系统,部署多半是linux环境。那么这篇文章能帮到你。首先首先你需要有一个Dockerfile文件。举例:这里以一个python项目举例FROMpython:3.10-slimWORKDIR/appCOPYrequirements.txtre......
  • docker运行单个locust脚本
    dockerpulllocustio/locustdockerrun-d--namemylocust-p8089:8089-v/d/GisLocust/locustfiles:/mnt/locustlocustio/locust-f/mnt/locust/locust_demo.py命令注释:-p8089:8089>>>将docker的8089映射到本地的8089(这样你在本地http://localhost:8089/可以打开......
  • docker导入导出镜像
    导出dockersave-o<保存路径>/myimage.tarmyimage:latest导入dockerload-i<路径>/myimage.tar导出dockerexport<容器ID>>mycontainer.tar导入dockerimportmycontainer.tar......
  • docker通过tcp推送镜像
    1,打包2,创建dockerFile文件FROManapsix/alpine-java:8_server-jre_unlimitedMAINTAINERLionLiRUNmkdir-p/hnapg/basedata/logs\/hnapg/basedata/temp\/hnapg/skywalking/agentWORKDIR/hnapg/basedataENVSERVER_PORT=9205EXPOSE${SERVER_PORT}......
  • podman 容器管理 docker替代,进阶版本?
    简介Docker的一个缺点是它有一个中央守护进程,它以root用户的身份运行,这对安全有影响。但这正是Podman的用武之地。padman完全兼容docker命令和镜像。Podman是一个无守护进程容器引擎,用于开发、管理和在你的Linux系统上以root或无root模式运行OCI容器。安装安......
  • docker redis
    dockerrun--restart=always-p6379:6379--nameredis-dredis:latest--requirepass123456dockerrun--restart=always\-p6379:6379\--nameredis\-v/opt/redis/conf/redis.conf:/etc/redis/redis.conf\-v/opt/redis/data:/data\-dredisredis-s......
  • Linux常用命令-docker
     1、进入容器: dockercontainerexec-it容器id/bin/bash①直接进入容器中的mongodb:sudodockerexec-itmongomongosh②dockerexec-itcontainerName/bin/bash2、容器开机自启动:①docker开机自启动:systemctlenabledocker.servic......