本文基于Docker-制作nginx镜像文章的基础上,在腾讯云云服务器(CentOS系统)上基于镜像文件Dockerfile制作 Nginx 镜像。
接上一篇文章,我们配置好了docker-compose.yml
并启动了 nginx-demo 应用。接下来我们在此基础之上,制作 Nginx-1.21.6 免安装压缩包,该压缩包在 centos 系统上解压即可启动 Nginx 使用。
1、进入容器container终端
2、删除 nginx-1.21.6 需要编译构建的安装包
备注: 在“Docker-制作nginx镜像”文章中,我们制作
nginx-demo
镜像是在nginx-1.21.6
执行make构建安装的。
cd /usr/local/services
# 删除需要编译构建的安装包
rm -rf nginx-1.21.6
# 拷贝构建好的nginx目录
cp -TRf nginx nginx-1.21.6
# 压缩免安装包
tar -zcvf nginx-1.21.6.tar.gz ./nginx-1.21.6
如此,我们即可得到 nginx-1.21.6.tar.gz 免安装包。
3、将容器nginx-demo中的 nginx-1.21.6.tar.gz 包拷贝到主机目录中
# 将容器 nginx-demo 的 nginx-1.21.6.tar.gz 拷贝到主机的 /home/coder/app/nginx-demo 目录中。
docker cp nginx-demo:/usr/local/services/nginx-1.21.6.tar.gz /home/coder/app/nginx-demo
# Nginx 服务镜像
# - https://hub.docker.com/_/centos?tab=tags&page=1
FROM centos:centos7.9.2009
WORKDIR /opt/app
LABEL maintainer="luqiangzeng@gmail.com"
# 定义环境变量
ENV NGINX_PATH /usr/local/services/nginx
COPY ./packages/nginx-1.21.6 ${NGINX_PATH}
# 创建nginx用户
RUN useradd -M -s /sbin/nologin nginx
COPY ./scripts/pod-tools/ /opt/app/scripts/
ADD ./dist/index.html ./nginx/index.html
ENTRYPOINT ["/opt/app/scripts/run.sh"]
基于nginx-1.21.6.tar.gz免安装包制作 Nginx 镜像,少了之前的编译构建过程。
nginx-1.21.6.tar.gz 在 centos 系统中解压即可以启动使用Nginx服务。
npm run docker:build
docker run --name nginx-1.21.6-tar -p 80:80 -d nginx-1.21.6-tar:latest /usr/sbin/init
<!-- /home/coder/app/nginx-1.21.6-tar/html -->
打 tag:
# 打 tag
docker image tag nginx-1.21.6-tar:latest luqiangzeng/nginx-1.21.6-tar:1.0.0
docker image tag nginx-1.21.6-tar:latest luqiangzeng/nginx-1.21.6-tar:latest
推送镜像:
# 推送 1.0.0 版本镜像
docker push luqiangzeng/nginx-1.21.6-tar:1.0.0
# 推送 latest 版本镜像
docker push luqiangzeng/nginx-1.21.6-tar:latest
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。