Docker自定义镜像与仓库
程序员文章站
2022-06-12 19:18:37
...
一 自定义镜像
1 docker commit
1.1 创建容器
docker run -it docker.io/centos
1.2 修改配置
配置yum源
安装软件包
yum -y install net-tools iproute psmisc vim-enhanced
bash-completion (tab补齐键功能)
1.3 把容器做成镜像
docker commit 容器id docker.io/myos:latest
1.4 验证
docker run -it myos
2 dockerfile
语法 | 格式 |
---|---|
FROM | :基础镜像 |
MAINTAINER | :镜像创建者信息 |
EXPOSE | :开放的端口 |
ENV | :设置变量 |
ADD | :复制文件到镜像 |
RUN | :制作镜像时执行的命令,可以有多个 |
WORKDIR | :定义容器默认的工作目录 |
CMD | :容器启动时执行的命令,仅可以有一条cmd |
创建一个apache的镜像文件
FROM docker.io/myos:latest
RUN yum -y install httpd
ENV EnvironmentFile=/etc/sysconfig/httpd
WORKDIR /var/www/html/ //定义容器默认工作目录
ADD index.html index.html
EXPOSE 80 //设置开放端口号
EXPOSE 443
CMD ["/usr/sbin/httpd", "-DFOREGROUND"]
二 自定义镜像仓库
1 创建一个私有仓库
1.1 安装私有仓库(服务端)
yum -y install docker-distribution
1.2 启动私有仓库,设置开机自启
systemctl start docker-distribution
systemctl enable docker-distribution
1.3 仓库配置文件及数据存储路径
/etc/docker-distribution/registry/config.yml
/var/lib/registry
1.4 客户端配置
vim /etc/sysconfig/docker
13s ADD_REGISTRY='--add-registry 192.168.1.30:5000' #允许非加密方式访问仓库
24s INSECURE_REGISTRY='--insecure-registry 192.168.1.30:5000' #docker仓库地址
1.5 重启docker服务
systemctl restart docker
1.6 为镜像创建标签
docker tag 镜像:标签 ip:5000/镜像:latest
1.7 上传镜像
docker push ip:5000/镜像:latest
1.8 远程启动镜像
docker run -it ip:5000/镜像:latest
2 让docker使用私有仓库
3 查看私有镜像仓库中的镜像
3.1 查看私有镜像仓库中的镜像
curl http://ip:5000/v2/_catalog
3.2 查看某一仓库的标签
curl http://ip:5000/v2/镜像仓库名称/tags/list
3.3 私有仓库数据存储目录
/var/lib/registry
上一篇: 孩子就是单纯......