使用docker部署nginx

基本思路:先下载nginx镜像,然后创建nginx容器,再进入容器对配置进行设置

docker的基本命令前面帖子中有整理,可以参考查看

docker的常用命令(镜像、容器常用操作)_咛果果的博客-CSDN博客每次学习docker,都会因为docker的命令太多苦恼,经常记不住,有时候去官网查一下,有时候在网上找一些帖子,特别麻烦,以下是对一些常用的命令的用法做了一些归纳和说明,当然,以后如果使用的多了,肯定就都记住了,这个帖子也就没什么意义了;不过它还会适合初学docker现阶段的我这个阶段的你。一、帮助命令docker version #显示docker的版本信息docker info #查看docker的系统信息,包括镜像和容器...https://blog.csdn.net/rengn/article/details/123515069

1、查看是否有nginx镜像

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    5d0da3dc9764   6 months ago   231MB

2、如果docker中无nginx镜像,下载镜像

我们这儿直接下载最新版本

[root@localhost ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete 
a9edb18cadd1: Pull complete 
589b7251471a: Pull complete 
186b1aaa4aa6: Pull complete 
b4df32aa5a72: Pull complete 
a0bcbecc962e: Pull complete 
Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

3、启动创建nginx容器

启动命令:docker run -d --name ce-nginx155 -p 3344:80 nginx

# -d 后台运行

# --name 容器命名

# -p 宿主机端口:容器内部端口(文章末尾 有关于端口映射的详细讲解)

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    605c77e624dd   2 months ago   141MB
centos       latest    5d0da3dc9764   6 months ago   231MB
[root@localhost ~]# docker run -d --name ce-nginx155 -p 3344:80 nginx
971dd8810da2b1099aba5545c110878d4000289b5262d3df4f04c6b114743ae9
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                   NAMES
971dd8810da2   nginx     "/docker-entrypoint.…"   14 seconds ago   Up 13 seconds   0.0.0.0:3344->80/tcp, :::3344->80/tcp   ce-nginx155
[root@localhost ~]# curl 127.0.0.1:3344

 访问验证:使用外部端口3344可以访问该容器nginx

 

4、进入容器,可以对相关配置进行设置

[root@localhost ~]# docker exec -it ce-nginx155 /bin/bash
root@971dd8810da2:/# ll
bash: ll: command not found
root@971dd8810da2:/# ls
bin  boot  dev  docker-entrypoint.d  docker-entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@971dd8810da2:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@971dd8810da2:/# cd /etc/nginx/

root@971dd8810da2:/etc/nginx# ls
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params

 ps:端口映射暴露原理

容器nginx01和nginx02分别是独立的容器,也是绝对隔离的,容器内的端口使用是互不影响的,但是所开放的端口如果需要被外部访问,需要配置对外的映射规则

docker run -d --name nginx01 -p 3344:80 nginx

docker run -d --name nginx02 -p 3355:80 nginx

如图所示,访问服务器宿主机防火墙的端口3344和3355会分别映射到nginx01和nginx02两个不同的容器中。

 

  • 7
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是使用 Docker 部署 Nginx使用 Nginx 部署项目的步骤: 1. 首先,需要安装 Docker,可以参考官网的安装教程进行安装。 2. 创建一个用于存放 Nginx 配置文件和项目文件的目录,比如 /home/nginx。 3. 在该目录下创建一个名为 nginx.conf 的 Nginx 配置文件,可以参考以下示例进行编写: ``` worker_processes 1; events { worker_connections 1024; } http { server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html; } location /api/ { proxy_pass http://backend:8000/; } } } ``` 上述配置文件中,Nginx 监听本地 80 端口,将访问根目录的请求转发到 /usr/share/nginx/html 目录下的 index.html 文件,将以 /api/ 开头的请求转发到名为 backend 的 Docker 容器中的 8000 端口。 4. 在该目录下创建一个名为 Dockerfile 的文件,用于构建自定义的 Nginx 镜像,可以参考以下示例进行编写: ``` FROM nginx COPY nginx.conf /etc/nginx/nginx.conf COPY dist/ /usr/share/nginx/html/ ``` 上述 Dockerfile 文件中,使用 nginx 作为基础镜像,将本地的 nginx.conf 文件复制到容器中的 /etc/nginx/nginx.conf 目录下,将本地的项目文件复制到容器中的 /usr/share/nginx/html/ 目录下。 5. 使用以下命令构建并运行 Nginx 容器: ``` docker build -t my-nginx . docker run --name my-nginx -p 80:80 --link backend my-nginx ``` 上述命令中,首先使用 docker build 命令构建名为 my-nginx 的自定义 Nginx 镜像,然后使用 docker run 命令启动该镜像对应的容器,将本地的 80 端口映射到容器的 80 端口,并连接名为 backend 的后端容器。 6. 至此,使用 Docker 部署 Nginx使用 Nginx 部署项目的过程已完成。可以通过浏览器访问 http://localhost 来查看部署的项目。如果该项目中有需要通过 /api/ 访问的后端服务,可以在后端容器中启动该服务,并将其命名为 backend,以便 Nginx 容器能够连接到该服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咛果果

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值