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

2024-01-20 06:10

本文主要是介绍Docker+nginx在CVM的机器远程发布hellogin,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

常用操作

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

build指定版本

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

让本地和远程共享文件

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. docker exec命令能够在运行着的容器中执行命令
    docker ps -a 查看容器id
docker exec -it ffcb1d91e28f /bin/sh
  1. 查看容器ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' hellogin

安装操作

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

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

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

1. 安装docker

普通linux系统

yum -y install docker

遇到问题用

yum -y --skip-broken install docker

然后用

docker pull golang:alpine3.13

在腾讯的系统上用

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

启动补了的话用

sudo service docker restart

2.安装vim

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

apt-get update
apt-get install vim

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

一. 登录到机器,安装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

二. 上传到机器

进入/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

三. 用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. 运行镜像生成容器( 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重启容器,之后就可以通过域名直接访问了

这篇关于Docker+nginx在CVM的机器远程发布hellogin的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/625037

相关文章

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)