• Docker+nginx在CVM的机器远程发布hellogin


    有两种方式,一种通过docker容器安装,一种是直接安装, 这里我们通过docker服务安装

    常用操作

    1. images是查询当前机器上所有的镜像有哪些
    docker images
    
    • 1
    1. 删除镜像
    docker rmi [MAGE ID ]
    
    • 1
    1. 可以查当前运行中的容器
    docker ps -a
    
    • 1
    1. 开始/停止/删除容器
    docker start [CONTAINER ID]
    docker stop [CONTAINER ID]
    docker rm [CONTAINER ID]
    
    • 1
    • 2
    • 3
    1. 构建一个docker的镜像文件(-t指定要创建的目标镜像名,注意最后有个”."用来指定Dockerfile的绝对路径)
    docker build -t hellogin -f Dockerfile .
    
    • 1

    build指定版本

    docker build -t ordersystem:1.2 -f Dockerfile .
    
    • 1
    1. run镜像
      基本命令
    docker run --name=hellogin -d -p 9020:8000 hellogin
    
    • 1

    让本地和远程共享文件

    docker run --name=ordersystem -d -p 9020:8000 -c "tail -f /dev/null" -v /usr/local/service/ordersystem:/usr/local/service/ordersystem ordersystem:1.2
    
    • 1
    1. docker exec命令能够在运行着的容器中执行命令
      docker ps -a 查看容器id
    docker exec -it ffcb1d91e28f /bin/sh
    
    • 1
    1. 查看容器ip地址
    docker inspect --format='{{.NetworkSettings.IPAddress}}' hellogin
    
    • 1

    安装操作

    rpm和yum区别和联系以及apt-get

    apt-get属于ubuntu、Debian的包管理工具

    yum则属于Redhat、Centos包管理工具

    1. 安装docker

    普通linux系统

    yum -y install docker
    
    • 1

    遇到问题用

    yum -y --skip-broken install docker
    
    • 1

    然后用

    docker pull golang:alpine3.13
    
    • 1

    在腾讯的系统上用

    yum install docker-ce docker-ce-cli containerd.io -y
    
    • 1

    启动补了的话用

    sudo service docker restart
    
    • 1

    2.安装vim

    docker的Nginx容器中没有vim命令,需要自行安装

    apt-get update
    apt-get install vim
    
    • 1
    • 2

    3. 安装nginx

    1. 直接安装Nginx
      docker pull nginx
    2. nginx直接映射80端口,方便之后映射域名
      docker run --name=nginx -d -p 80:80 nginx

    完整操作如下,接下来我们来拆解思路

    4  2022-03-28 19:58:32 cd /usr/local/
    5  2022-03-28 19:58:32 ls
    6  2022-03-28 19:58:47 mkdir service
    7  2022-03-28 19:58:50 cd service/
    8  2022-03-28 19:58:50 ls
    9  2022-03-28 19:58:54 rz
    10  2022-03-28 19:59:23 ls
    11  2022-03-28 19:59:58 yum -y install docker
    12  2022-03-28 20:01:09 yum -y --skip-broken install docker
    13  2022-03-28 20:01:23 docker pull golang:alpine3.13
    14  2022-03-28 20:01:39  chmod 777 hellogin
    15  2022-03-28 20:01:55 docker build -t hellogin -f Dockerfile .
    16  2022-03-28 20:02:04 ls
    17  2022-03-28 20:02:14 docker images
    18  2022-03-28 20:02:38 docker run --name=hellogin -d -p 9020:8000 hellogin
    19  2022-03-28 20:04:47 docker pull nginx
    20  2022-03-28 20:04:58 docker run --name=nginx -d -p 80:80 nginx
    21  2022-03-28 20:05:05 docker inspect --format='{{.NetworkSettings.IPAddress}}' hellogin
    22  2022-03-28 20:05:17 docker exec -it nginx /bin/bash 
    23  2022-03-28 20:13:27 ps
    24  2022-03-28 20:15:36 docker restart nginx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    一. 登录到机器,安装docker

    11  2022-03-28 19:59:58 yum -y install docker
    12  2022-03-28 20:01:09 yum -y --skip-broken install docker
    13  2022-03-28 20:01:23 docker pull golang:alpine3.13
    
    • 1
    • 2
    • 3

    二. 上传到机器

    进入/usr/local/,创建service,并且将Dockerfile和hellogin上传到service

    4  2022-03-28 19:58:32 cd /usr/local/
    5  2022-03-28 19:58:32 ls
    6  2022-03-28 19:58:47 mkdir service
    7  2022-03-28 19:58:50 cd service/
    8  2022-03-28 19:58:50 ls
    9  2022-03-28 19:58:54 rz
    10  2022-03-28 19:59:23 ls
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    三. 用docker发布hellogin

    1. 修改包权限
      chmod 777 hellogin (是否需要777可以根据自身需求), 构建一个docker的镜像文件(-t指定要创建的目标镜像名,注意最后有个”."用来指定Dockerfile的绝对路径)docker build -t hellogin -f Dockerfile .docker images
    2. 查看所有的镜像

    image.png

    1. 查看当前镜像
      docker ps -a
    CONTAINER ID   IMAGE          COMMAND                  CREATED       STATUS                      PORTS                               NAMES
    853c6e86eee6   nginx          "/docker-entrypoint.…"   2 weeks ago   Up 44 minutes               0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx
    602e73e44d10   4247aed57ff5   "./ordersystem"          2 weeks ago   Exited (2) 37 seconds ago 
    
    • 1
    • 2
    • 3
    1. 运行镜像生成容器( d表示运行在后台,-p表示绑定到指定的主机端口)docker run --name=hellogin -d -p 9020:8000 hellogin

    四. 反向代理

    有两种方式,一种是通过docker容器安装,一种是直接安装。

    docker pull nginx直接安装Nginx

    docker run --name=nginx -d -p 80:80 nginx直接映射80端口,方便之后映射域名

    1. 查询容器IP地址docker inspect --format='{{.NetworkSettings.IPAddress}}' hellogin

    image.png

    1. 进入nginx,配置代理文件docker exec -it nginx /bin/bash `进入Nginx容器中,配置代理文件
    • 文件在etc/nginx/目录下,可以进入conf.d目录配置default.conf文件

    image.png

    1. 按照上面配置完成后,
      exit退出容器,docker restart nginx重启容器,之后就可以通过域名直接访问了
  • 相关阅读:
    2024年跳槽面试心得
    yolo系列配置文件解析,内容来自官方
    DevOps 必备的 Kubernetes 安全清单
    【FTP工具】FileZila安装以及使用详解
    设计模式篇---观察者模式
    什么是自动语音识别?
    Qt QChart 自定义qChartView(重写鼠标事件)完美实现缩放与平移(新增android下手势缩放实现)
    2023.10月网络优化项目实战
    Leetcode(452)——用最少数量的箭引爆气球
    tensorflow数据统计
  • 原文地址:https://blog.csdn.net/weixin_45581597/article/details/127861559