Dockerfile制作Nginx应用镜像

文章目录

使用Dockerfile制作基于Centos7的Nginx应用镜像

创建Dockerfile

dockerfile 复制代码
FROM centos:7
MAINTAINER "WWW"
RUN yum install -y http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.24.0-1.el7.ngx.x86_64.rpm
COPY dest/index.html /usr/share/nginx/html/
EXPOSE 80/tcp
ENTRYPOINT ["nginx", "-g", "daemon off;"]

创建镜像

bash 复制代码
#目录结构
[root@docker nginx]# tree /root/dockerfile/
/root/dockerfile/
└── nginx
    ├── dest
    │   └── index.html
    └── Dockerfile

[root@docker nginx]# docker build -t centos:v1.1 ./
[root@docker nginx]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
centos       v1.1      90714e48dcba   2 minutes ago   431MB

上传镜像-harbor

修改hosts文件

bash 复制代码
[root@docker nginx]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.110.139 www.kvm.cn

修改daemon.json

json 复制代码
{
  "registry-mirrors": ["https://hnjwpdu9.mirror.aliyuncs.com"],
  "insecure-registries": ["www.kvm.cn"]
}

重启DOCKER

bash 复制代码
[root@docker nginx]# systemctl restart docker.service

登录并上传

bash 复制代码
[root@docker nginx]# docker login www.kvm.cn
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

[root@docker nginx]# docker push www.kvm.cn/library/centos7:v1.1 
The push refers to repository [www.kvm.cn/library/centos7]
125496b805c2: Pushed 
5efa92506a53: Pushed 
174f56854903: Pushed 
v1.1: digest: sha256:8cef5e2c8b505441ed50380961288c4f82d727cb34f0590bd2f2ebad6e820c25 size: 948

测试镜像

bash 复制代码
[root@docker nginx]# docker run -d --name centos7v1.1 www.kvm.cn/library/centos7:v1.1 
8220d8c238c1d865fd896fc66b972d3394fd84fff3b887424021c5de45345cac
[root@docker nginx]# docker ps
CONTAINER ID   IMAGE                             COMMAND                  CREATED         STATUS         PORTS     NAMES
8220d8c238c1   www.kvm.cn/library/centos7:v1.1   "nginx -g 'daemon of..."   5 seconds ago   Up 5 seconds   80/tcp    centos7v1.1
[root@docker nginx]# docker exec -it centos7v1.1 /bin/bash
[root@8220d8c238c1 /]# cat /usr/share/nginx/html/index.html 
Nginx Web Test
[root@docker nginx]# curl 172.17.0.2
Nginx Web Test
相关推荐
Patrick_Wilson9 小时前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy18 小时前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭19 小时前
运行你的第一个Docker容器
后端·docker·容器
荣--2 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森2 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
宋均浩2 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
Avan_菜菜2 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
程序员老赵2 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1113 天前
LM Studio Docker 部署——本地大模型一键启动
docker
SelectDB3 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维