docker容器更改映射端口

news2024/11/16 17:48:46

问题描述:
          我们在docker中开启nginx以后,如果这时候在nginx中配置除了80以外的端口的监听,会发现无法访问,这时候其实是因为我们没有开启端口映射导致的。

目前发现有两种解决方案 如下:

目录

一. 修改配置文件 - 进行端口映射

2、进入docker容器目录

3、修改配置文件

4、重启docker和容器即可

二、根据现有的容器重新生成一个镜像文件(数据不会丢失)


一. 修改配置文件 - 进行端口映射源地址

注:首先先关闭docker,否则修改配置文件也不会生效!

关闭命令如下:

systemctl stop docker

1、首先通过如下命令,找到nginx的container Id

docker ps

在这里插入图片描述

2、进入docker容器目录

一般目录地址如下:
在这里插入图片描述
可以看到容器的前缀就使我们需要找的nginx。

3、修改配置文件

找到如下两个文件:
在这里插入图片描述
修改 hostconfig.json 文件,找到如下配置,可以添加想要开放的端口

"PortBindings":{
    "80/tcp":[
        {
            "HostIp":"",
            "HostPort":"80"
        }
    ],
    "8088/tcp":[
        {
            "HostIp":"",
            "HostPort":"8088"
        }
    ]
}

修改 config.v2.json 文件,找到如下配置,可以添加想要开放的端口

"ExposedPorts":{
            "80/tcp":{

            },
            "8088/tcp":{

            }
        }

注:并不需要修改Ports,只有在你没有stop容器时,Ports才会有值,如果关闭了容器,就是null。当然如果你修改了也无所谓,因为重启容器后,就会被刷新。

4、重启docker和容器即可

重启docker命令如下:

systemctl start docker

重启nginx命令如下:

#nginx就是你的容器名称
docker start nginx  

二、根据现有的容器重新生成一个镜像文件(数据不会丢失)源地址

1. 停止nignx容器
docker stop 你的nginx容器id或者名称
如: docker stop nginx


2. 根据现在的nginx容器重新生成一个镜像文件(数据不会丢失)
docker commit nginx(你的nginx容器id或者名称) 新的容器名称:tag
如: docker commit nginx nginx2:6.6


3. 启动新的nginx容器
docker run -d -p 80:80 -p xx端口:xx端口 --name 容器名称 新的nginx容器镜像id/名称
如: docker run -d -p 80:80 -p 3000:3000 --name nginx c89fa25e901e使用数据券方式:docker run -d -p 80:80 -p 3000:3000 --name nginx -v /usr/local/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /usr/local/project/:/usr/local/project/ c89fa25e901e4. 移除旧的nginx容器(请先确保第三步的新容器成功运行再删除旧容器)docker rm 旧容器名称 如: docker rm nginx

 现在再访问,成功进入前端项目主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/727701.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android AIDL基本使用

AIDL是Android多进程通讯方式一种。 如要使用 AIDL 创建绑定服务,请执行以下步骤: 创建 .aidl 文件 此文件定义带有方法签名的编程接口。 实现接口 Android SDK 工具会基于您的 .aidl 文件,使用 Java 编程语言生成接口。此接口拥有一个名为…

树莓派Pico与MicroSD卡模块接口及MicroPython编制读写MicroSD存储卡程序

介绍树莓派(RPi)Pico开发板(或树莓派Pico W无线开发板)与MicroSD卡模块SPI接口技术原理及SPI接口硬件连接的具体步骤,讲述采用MicroPython和SDCard类编制程序读写MicroSD存储卡的方法,给出读写MicroSD存储卡文件的测试程序。 一、…

创建数据库Market、Team,按要求完成指定操作

创建数据库Market,在Market中创建数据表customers,customers表结构如表4.6所示,按要求进行操作。 代码如下: #(1)创建数据库Market mysql> create database Market; Query OK, 1 row affected (0.00 sec)mysql>…

Windows系统中将markdown文件批量转化为PDF

需要将一个文件夹下的多个md文件转化为PDF 下载安装pandoc 官网下载地址:Pandoc ,下载位置如下图。 下载后按照默认文件路径安装完成 使用everything软件查找pandoc.exe文件路径,如下图: 安装完成之后就可以在cmd窗口或Window…

Cyclo(L-Asp-L-Gly),52661-97-9,定制含D型与L型氨基酸

(文章资料汇总来源于:陕西新研博美生物科技有限公司小编MISSwu) 试剂基团反应特点(Reagent group reaction characteristics): Cyclo(L-Asp-L-Gly),52661-97-9,(活性药物…

荧光染料92557-81-8,FAM NHS ester,6-isomer,用于标记核苷酸的荧光试剂

6-羧基荧光素琥珀酰亚胺酯 6-FAM, 用于标记核苷酸的荧光试剂,6-羧基荧光素琥珀酰亚胺酯是一种化学物质。荧光标记染料在生物分析中发挥越来越重要的作用,特别是6-羧基荧光素已经成为检测蛋白质,DNA序列的国际通用的荧光染料。 6-F…

变压器绝缘电阻测试试验

试验目的 电力变压器是发电厂、 变电站和用电部门最主要的电力设备之一, 是输变电能的电器。 测量绕组绝缘电阻、 吸收比和极化指数, 能有效地检查出变压器绝缘整体受潮, 部件表面受潮脏污, 以及贯穿性的集中行缺陷, …

Revit柱的绘制:陶立克柱绘制方法和生成柱

​  一、Revit陶立克柱的绘制方法 BIM等级考试一级第十期第四题陶立克柱该如何绘制呢?接下来我演示给大家。 陶立克柱看似很复杂,其实很简单,只需要先绘制好柱身,会用到阵列工具的使用再绘制柱子上部或下部分,最后采用镜像工具…

spring系列所有漏洞vulhub复现CVE-2022-22978、CVE-2022-22963、CVE-2022-22965、CVE-2018-1273

文章目录 CVE-2022-22978 Spring-security 认证绕过漏洞漏洞描述:复现: CVE-2022-22963漏洞描述:复现: 提提神Spring框架Data Binding与JDK 9导致的远程代码执行漏洞(CVE-2022-22965)漏洞描述:复现: Spring Data Commo…

智慧水务信息化建设——看“厂、站、网”一体化综合监管

平台概述 智慧水务信息化平台是以物联感知技术、大数据、智能控制、云计算、人工智能、数字孪生、AI算法、虚拟现实技术为核心,以监测仪表、通讯网络、数据库系统、数据中台、模型软件、前台展示、智慧运维等产品体系为支撑,以城市水资源、水生态、水环…

Intellij IDEA突然无法启动问题

遇到的情况:Intellij IDEA 双击或者鼠标右键右键单击都无法启动,打开任务管理器也没有Intellij IDEA线程启动。 解决方法: 第一步:以管理员身份打开命令提示符,输入命令(“ netsh winsock reset ”),关闭…

机器学习15:神经网络-Neural Networks

神经网络是特征交叉的更复杂版本。本质上,神经网络会学习适当的特征组合。本文主要介绍神经网络的结构、隐藏层、激活函数等内容。 目录 1.神经网络:结构 2.隐藏层 3.激活函数 3.1 常用激活函数 3.2 小结 4.神经网络小练习 4.1 第一个神经网络 …

异步请求(Ajax,axios,json)

同步/异步请求 表单(前端)向后端发送请求,属于同步请求 同步: 发一个请求, 给一个回应, 会用回应的内容覆盖掉浏览器中内容,这样会打断前端其他的正常操作,在现在的前端中,显得不太友好。 异步: 不同步 前端正常输入时…

腾讯云部署vitepress,高颜值文档博客

首先上官方网站。https://vitepress.dev/ 先看两张效果图。 一定要用这个官网,之前看了一个翻译版本,好像翻了一半不弄了,坑了半天时间也解决不了。目前看起来还没有官翻。 目前使用到的是腾讯云的轻量应用服务器,效果还是非常好…

【CSDN新星计划】初阶牛C/C++赛道——顺序程序设计(数据的表现形式及其运算)

目录 🍊1.数据的表现形式及其运算 🍉1.1常量和变量 🍀1.1.1常量 🍀1.1.2变量 🍀1.1.3常变量 🍀1.1.4标识符 🍉1.2数据类型 🍉1.3整型数据 🍀1.3.1整型数据的分类…

FCPX插件Stupid Raisins Split Pop 2(视频照片动画拆分效果插件)

Stupid RAIsins Split Pop是一个视频照片动画拆分效果插件,它允许您在Final Cut Pro,Motion,Premiere Pro和After Effects中使用。fcpx插件Split Screen非常适合用视频和照片创建动画分割,专为4K UHD和高清视频而设计,…

RAID5重建失败的服务器数据恢复案例

服务器数据恢复环境: 一台IBM某型号服务器,4块SAS磁盘组建了一组RAID5磁盘阵列。服务器安装的windows server操作系统,上面运行了一个Oracle单节点,数据存储为文件系统,无归档。该oracle数据库的数据量不大&#xff0c…

Python爬虫——批量下载微信公众号图片

目标: 微信公众号是现代社交媒体中最受欢迎的平台之一,每天都有数以百万计的人在浏览不同的公众号,其中大部分都包含了图片内容。如果你是一位公众号的管理员或者粉丝,你可能想要在本地保存一些感兴趣的图片。但是,微…

GIT下载安装

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

函数中的 static int 变量

#include <iostream>using namespace std;void function( ) {static int a 3 ; // 不赋值的话是 a 等于0&#xff1b;cout<<"a"<<a<<endl;aa3;cout<<"a"<<a<<endl;}int main(int argc, char** argv) {cout&l…