欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker自定义镜像与仓库

程序员文章站 2022-06-12 19:18:37
...

Docker自定义镜像与仓库

一 自定义镜像

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