• Docker安装Nginx(各种错误版)








    Docker安装-CSDN博客

    看过程就一点点看,看结果直接看最后

    安装启动Docker之后

    docker run -d -p 81:81 --name nginx nginx

    这样没有指定版本

    • docker run:启动一个新的容器。
    • -d:以分离模式运行容器(后台运行)。
    • -p 81:81:将主机的 81 端口映射到容器的 81 端口。这意味着您可以通过访问主机的 81 端口来访问容器内的服务。
    • --name nginx:为容器指定一个名称,这里是 nginx
    • nginx:使用 nginx 镜像来创建容器。如果没有指定版本,将使用该镜像的最新版本。

    安装指定版本的nginx

    docker run -d -p 81:81 --name nginx nginx:1.21.0

    下面以安装最新版  没有指定版本  会安装最新
     

    列出所有容器,包括正在运行和停止的容器。

    docker ps -a

    docker images    查看已有的镜像

    云服务器安全组开通81端口

    访问:http:IP:81   发现无法访问

    原因在于 nginx默认配置的是80端口  因此需要修改容器内部Nginx的配置文件

    docker ps -a  或者docker ps

    docker exec -it nginx /bin/bash        注意 -it 后面可以是  镜像id  也可以是容器名

    cd /etc/nginx    可以看到nginx.conf配置文件在这里

    发现要去编辑该文件   一些命令工具都没有装   很麻烦

    apt-get update

    apt-get install -y vim

    vim /etc/nginx/nginx.conf    这里我配置错误  导致后面容器启动不起来 因为启动命令是81:81

    exit   从容器内部退出来

    停止容器nginx 并重新启动

    用docker stop 容器名/容器id


    重新启动

    docker start 容器名或者id

    由于上面配置文件错误  导致容器启动不起来

    根本没有启动  所以进入不了

    docker run -d -p 81:80 --name nginx nginx:1.21.0
    重新下个镜像并启动

    由于名字相同

    docker rm 容器id   只写了前三位  只要可以和别的容器id正确区分就行

    mkdir -p /usr/local/develop/docker/nginx

    然后将一个全新的nginx.conf放进去

    将配置文件挂在到本地的/usr/local/develop/docker/nginx/nginx.conf

    docker run -d -p 81:81 --name nginx -v /usr/local/develop/docker/nginx/nginx.conf:/etc/nginx/nginx.conf nginx

    重新运行  这样就不需要总进容器  

    mkdir -p /usr/local/develop/docker/nginx/conf.d

    mkdir -p /usr/local/develop/docker/nginx/html

    html里放个index.html 自己随便建个

    docker run -d -p 81:81 --name nginx -v /usr/local/develop/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/develop/docker/nginx/conf.d:/etc/nginx/conf.d -v /usr/local/develop/docker/nginx/html:/usr/share/nginx/html nginx

    把日志文件也挂载

    docker run -d -p 81:81 --name nginx \
        -v /usr/local/develop/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
        -v /usr/local/develop/docker/nginx/conf.d:/etc/nginx/conf.d \
        -v /usr/local/develop/docker/nginx/html:/usr/share/nginx/html \
        -v /usr/local/develop/docker/nginx/logs:/var/log/nginx \
        nginx
     

    docker run -d -p 80:80 -p 443:443 --name nginx \ -v /usr/local/develop/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \ -v /usr/local/develop/docker/nginx/conf.d:/etc/nginx/conf.d \ -v /usr/local/develop/docker/nginx/html:/usr/share/nginx/html \ -v /usr/local/develop/docker/nginx/logs:/var/log/nginx \ -v /usr/local/develop/docker/nginx/ssl:/etc/nginx/ssl \ nginx

    docker ps和docker ps -a    docker images三个命令区别

    docker ps  列出显示当前正在运行的容器

    docker ps -a  列出所有容器,包括运行中、停止和退出的容器。

    docker images 列出所有下载到本地主机的镜像。

    docker rm 容器名/容器id 删除已经停止运行的容器

    docker rm -f 容器名/容器id  即使在运行也删除

  • 相关阅读:
    基于Pytest+Allure+Excel的接口自动化测试框架
    MyBatis 学习(一)之 MyBatis 概述
    NPDP含金量高吗?难考吗?
    吃透Java线程安全问题
    13 英寸 MacBook Air 与 MacBook Pro 评比
    九、Redis三种集群模式
    java毕业生设计学院学生论坛计算机源码+系统+mysql+调试部署+lw
    迅为RK3568开发板ubuntu图形界面开机免密自登录
    linux网络问题常用命令
    EMI/EMS/EMC有何异同之处?-唯样商城
  • 原文地址:https://blog.csdn.net/tiantiantbtb/article/details/139693098