使用docker部署nginx
在完成docker环境部署后,可以从配置的镜像仓库中拉取镜像,并启动容器。以下使用nginx作为示例,演示如何启动及配置容器。
1. 使用指令启动容器
使用下面的指令可以在docker中启动nginx容器
docker run --name my-nginx -p 8080:80 -d nginx
其中: --name 指定启动容器的名称
-p 用于指定容器端口映射,8080对应的是宿主机端口,80对应的是容器内nginx监听端口
-d 代表后台运行
nginx 代表使用的镜像,没有指定版本的情况下会拉取最新版本,当然这里也可以指定对应的镜像版本 比如 nginx:1.22.0
在启动容器时,如果本机找不到对应的镜像,docker会从配置的远程仓库拉取镜像。
2. 应用验证
启动后,可以在浏览器中输入 http://localhost:8080, 打开相应的页面验证是否已经成功配置了nginx。
3. 挂载目录
此时nginx目前只完成了基本应用的部署,如果要添加自己的web应用,可以将相应web页面一起打包,构建到新的nginx镜像中,使用docker指令可以通过 -v参数挂载外部目录,当然我们配置有docker-compose 环境,可以使用docker-compose 编排容器。
创建 docker-compose.yml文件,编辑添加如下内容
version: '3'
services:
nginx:
image: nginx:latest
container_name: my-nginx
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
restart: unless-stopped
在文件所在路径下执行docker-compose up -d 启动容器
此时,可以在文件所在目录的html文件夹中添加相应的web文件
启动后刷新http://localhost:8080 查看页面是否已更改为自定义的页面
4. 添加配置文件
在实际应用中,会有需要配置conf文件的情况,可以通过volumes 挂载相应的配置文件
version: '3'
services:
nginx:
image: nginx:latest
container_name: my-nginx
ports:
- "8080:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./html:/usr/share/nginx/html
restart: unless-stopped
对应在docker-compose.yml文件目录下,创建 nginx.conf
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
}
至此,即可实现nginx的自定义配置部署