制作nginx本地docker镜像并推送至私有镜像仓库
时间:2023-12-29 15:14 作者:Anglei 分类: 自动化运维
由于当前的docker 版本大于19.03,故docker build已变更为docker buildx build,在使用docker buildx构建镜像的时候,可能提示少这少那,如果嫌麻烦的话,建议在安装docker的时候使用如下命令:
apt install docker*
接下来,我们以nginx为例,来构建一个适用于自己的镜像,
1.我们要下载一个nginx通用镜像,这里我们选择的版本为1.16.1-alpine版本,如下:
docker pull nginx:1.16.1-alpine
2.我们创建一个default.conf的nginx配置文件:
vi default.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
access_log /var/log/nginx/host.access.log main;
error_log /var/log/nginx/error.log error;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
3.我们再创建一个dockerfile文件
如在/data 根目录下创建dockerfile,并在新的容器中添加VIM命令,则:
vi dockerfile
包含内容如下:
FROM nginx:1.16.1-alpine
RUN apt-get update && apt-get install -y vim
CMD ["/bin/bash"]
COPY www/ /usr/share/nginx/html/
COPY conf/default.conf /etc/nginx/conf.d/default.conf
RUN chmod -R 755 /usr/share/nginx/html
上述代码表明,以nginx:1.16.1-alpine为模版 ,复制宿主机上的www目录下内容至镜像/usr/share/nginx/html这个目录,并以宿主机default.conf的配置文件内容为准,替换/etc/nginx/conf.d/default.conf文件,并设置/usr/share/nginx/html权限为755
4.执行以下命令进行构建nginx自定义镜像:
docker buildx build -f dockerfile -t nginx:1.16.1-alpine-v1 .
上述命令后面有个. 表明dockerfile为本地的文件
通过docker images查看,创建成功了
镜像创建成功了,我们也要试一下是否可以正常启动镜像,通过如下命令启动nginx:
docker run -d --name mynginx -p 8080:80 nginx:1.16.1-alpine-v2
5.执行以下命令将新构建的nginx镜像推送至私有镜像仓库:
docker tag nginx:1.16.1-alpine-v4 registry.ABC.cn:5000/nginx:1.16.1-alpine-v4
docker push registry.ABC.cn:5000/nginx:1.16.1-alpine-v4
本文完结,相关标签: docker
推荐阅读:
![]() 路过(0) |
![]() 雷人(0) |
![]() 握手(0) |
![]() 鲜花(0) |
![]() 鸡蛋(0) |