【学习笔记】Docker registry和Dockerfile

本文介绍如何使用Dockerregistry搭建本地镜像仓库,并利用Dockerfile进行镜像的自动化构建,包括基础命令和实战操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Docker registry

1、简介

Docker registry用来存储docker image的仓库;运行pull push search时,是通过docker daemon与docker registry通信;

有时候试用docker hub这个公共仓库不方便,可以通过registry创建一个本地仓库。

2、运行registry

docker run -d -p 5000:5000 -v ${PWD}/registry:/var/lib/registry --restart always --name registry registry:2.7.1

3、演示

docker pull nginx:1.18.0
docker images|grep nginx
docker images|findstr nginx
docker tag nginx:1.18.0 192.168.**.***:5000/nginx:1.18.0
docker push 192.168.**.***:5000/nginx:1.18.0
docker pull 192.168.**.***:5000/nginx:1.18.0

二、Dockerfile

1、简介

Dockerfile是由一些列指令和参数构成的脚本,一个Dockerfile包含了构建整个镜像的完整指令。

通过docker build执行Dockerfile中的一系列指令自动构建镜像。

//基础镜像,FROM必须是Dockerfile的首个命令
FROM
//为镜像生成元数据标签
LABEL
//指定运行容器时的用户名或UID,后续RUN也会使用指定用户
USER
//RUN是Docker执行命令的核心部分
RUN
//设置CMD指明的命令的运行目录,为后续的RUN、ADD指令配置工作目录
WORKDIR
//容器启动的环境变量
ENV
//构建环境的环境变量
ARG
//复制文件
COPY
//容器运行时执行的默认命令
CMD
//指定容器的入口
ENTRYPOINT
//容器健康状态检查
HEALTHCHECK

2、Dockerfile

使用Dockerfile从官方的nginx构建一个自己的nginx容器,添加容器健康检查;

3、演示

docker build -t n:1 .

三、docker镜像构建

1、简介

需要制作自己的项目镜像,一般通过docker commit和dockerfile两种方式制作镜像。

2、Docker commit命令

一般用做从一个运行状态的容器来创建一个新的镜像。

默认commit镜像,对外不可解释,不方便排查问题,可维护性差。

3、Docker build命令--推荐dockerfile

//忽略文件
.dockerignore
//指定文件
docker build -f
//添加标签
docker build -t
//不使用缓存
docker build --no-cache
//构建时变量
docker build --build-arg
//ARG指令变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值