docker创建本地仓库并提交

本文详细介绍了如何在阿里云Centos环境下使用Docker安装和配置Tomcat,包括私有仓库镜像的下载、容器的部署、镜像的提交与推送流程。

学习前提

1.Docker在阿里云上(Centos)下载安装
2. 在阿里云(Centos)的docker容器里安装部署tomcat

先下载私有仓库镜像

docker run --name testdocker -p 5000:5000 --restart=always  -v /root/docker/registry:/var/lib/registry -d registry

仓库其实也是一个镜像,本地仓库是自用的,就好像git类似,docker先提交到私有仓库在提交到本地仓库

准备好你需要提交的容器

在这里插入图片描述

提交仓库前要把提交的容器压缩为镜像并提交到私有仓库

docker commit -a "pning" -m "This is a test" a6002cb68522 mytesttomcat

-a "pning":作者
-m "This is a test":介绍
a6002cb68522:容器ID
mytesttomcat:压缩后给镜像命名,只能为小写
判断是否成功
通过docker images查看所有镜像,看有没有刚刚压缩的
在这里插入图片描述

将私有仓库里的镜像改为本地

本地仓库和私有仓库的命名区别

私有仓库和共有仓库的区别是
共有仓库的命名格式为ip:端口/镜像名
私有仓库的命名格式为镜像名

改名字的命令是docker tag 原本名字 改后名字,执行后实际会多了一条标签
在这里插入图片描述

修改完名字后提交到本地仓库

docker push ip:5000/mytesttomcat

这一步如果你电脑没有设置过或略这个端口的协议的话会报错,详情参考docker提交时报只支持https
执行成功后会开始提交,等待即可
在这里插入图片描述

<think>嗯,用户想了解如何创建Docker本地镜像的方法。我需要根据提供的引用资料来回答,同时还要生成相关问题。首先,回顾一下系统级指令,确保格式正确,比如行内数学表达式用$...$,独立公式用$$...$$,不过这个问题可能用不上数学公式。然后要结构清晰,分步骤说明,引用相关资料。 首先,用户的问题是关于创建本地Docker镜像,可能需要从Dockerfile构建,或者从现有容器提交,或者使用本地仓库。引用1提到了批量删除镜像,引用4提到了使用本地RHEL仓库,可能和创建本地镜像有关。引用2关于Docker的DNS配置可能不太相关,引用3关于资源状态,可能也不直接相关。 步骤一:使用Dockerfile构建镜像。这是最常见的方法,需要编写Dockerfile,然后运行docker build命令。引用4中提到的挂载ISO文件创建本地仓库,可能可以作为基础镜像的来源,但用户的问题更直接的是创建镜像,而不是设置仓库。 步骤二:从容器创建镜像。用户可能运行了一个容器做了修改,然后提交为镜像。使用docker commit命令,这在引用中没有提到,但属于常见操作,需要包含进去。 步骤三:使用本地仓库。引用4中的例子是挂载ISO创建本地仓库,可能可以用来作为基础镜像的来源。比如,用户可以从本地仓库安装软件,然后构建镜像。需要解释如何配置Docker使用本地仓库,可能涉及修改daemon.json,但引用2中的DNS配置可能不直接相关,不过引用4中的挂载步骤可以结合使用。 需要注意引用1中的删除镜像命令,可能在创建过程中需要清理旧镜像,但这不是用户的主要问题,但可以作为相关问题。 生成的问题要围绕创建本地镜像,比如如何优化Dockerfile,如何管理本地镜像,如何与仓库交互等。可能的问题包括Dockerfile编写技巧,使用本地仓库的方法,镜像管理命令,解决依赖问题,以及验证镜像正确性。 需要确保回答的结构清晰,分步骤,每个步骤有示例代码块,正确引用资料。比如,在步骤三中,引用4中的挂载ISO和创建本地仓库的方法,可以作为使用本地仓库的基础。 最后检查是否符合系统级指令,比如使用正确的代码块格式,中文回答,引用标识在引用段落末尾。例如,在提到从本地仓库安装软件时,引用[^4]。</think>### 如何创建Docker本地镜像 创建Docker本地镜像的常见方法包括**通过Dockerfile构建**和**从现有容器提交**,还可结合本地仓库进行管理。以下是具体步骤: --- #### 方法1:通过Dockerfile构建镜像 1. **编写Dockerfile** 定义基础镜像、依赖项和配置命令。例如: ```dockerfile FROM alpine:latest RUN apk add --no-cache nginx COPY ./app /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` 2. **构建镜像** 在Dockerfile所在目录执行: ```bash docker build -t my-custom-nginx:latest . ``` --- #### 方法2:从容器提交新镜像 1. **运行修改容器** 启动一个基础容器修改配置: ```bash docker run -it alpine:latest /bin/sh # 在容器内安装软件(例如vim) apk add vim ``` 2. **提交修改为镜像** 退出容器后,使用容器ID生成新镜像: ```bash docker commit <容器ID> my-alpine-with-vim:latest ``` --- #### 方法3:使用本地仓库作为基础 若需基于本地ISO或软件包构建镜像(如企业内部环境): 1. **挂载本地仓库** 如引用所示,挂载RHEL ISO文件到目录: ```bash mkdir -p /mnt/rhel7-repo mount -o loop RHEL-LE-7.1-20150219.1-Server-ppc64le-dvd1.iso /mnt/rhel7-repo/ ``` 2. **配置Dockerfile使用本地源** 在Dockerfile中指定本地仓库路径安装软件: ```dockerfile FROM base-image COPY local-repo.repo /etc/yum.repos.d/ RUN yum install -y my-package ``` --- #### 关键命令 - 查看本地镜像列表:`docker images` - 删除无用镜像(引用[^1]): ```bash # 按名称筛选删除 docker rmi $(docker images | grep "nginx" | awk '{print $3}') # 强制删除所有镜像 docker rmi -f $(docker images -q) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值