Docker部署项目时的服务端口设置——给容器添加新端口映射

2024-09-04 11:28

本文主要是介绍Docker部署项目时的服务端口设置——给容器添加新端口映射,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Docker给容器添加新端口映射

  • 1 Docker安装Ubuntu22.04
  • 2 创建新容器
  • 3 给容器添加端口映射
    • 3.1 查看运行的容器
    • 3.2 查看容器挂载目录
    • 3.3 停止容器
    • 3.4 停止docker服务
    • 3.5 进入容器挂载目录
    • 3.6 修改config.v2.json文件
    • 3.7 修改hostconfig.json文件
    • 3.8 启动docker
    • 3.9 启动容器
  • 4 端口测试
    • 4.1 创建一个服务端
    • 4.2 创建一个客户端
  • 参考文章

Docker容器创建后,其网络配置通常是固定的,包括端口映射。文内主要解决对现有容器添加新端口映射的问题。

1 Docker安装Ubuntu22.04

首先确保计算机已安装Docker。

#拉取镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu:22.04

2 创建新容器

下载完成后,通过运行一下命令来启动一个新的Ubuntu 22.04容器。

docker run -it --name test swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu:22.04
#启动容器
docker start test

3 给容器添加端口映射

3.1 查看运行的容器

docker ps 

在这里插入图片描述

3.2 查看容器挂载目录

#docker inspect [容器id]或[容器name]
docker inspect test

在这里插入图片描述

3.3 停止容器

docker stop test

3.4 停止docker服务

systemctl stop docker

在这里插入图片描述

3.5 进入容器挂载目录

在这里插入图片描述

3.6 修改config.v2.json文件

添加 "ExposedPorts":{"8090/tcp":{}}
在这里插入图片描述

3.7 修改hostconfig.json文件

添加"PortBindings":{"8090/tcp":[{"HostIp":"","HostPort":"8090"}]}
在这里插入图片描述

3.8 启动docker

systemctl start docker

3.9 启动容器

docker start test
docker ps

在这里插入图片描述

4 端口测试

4.1 创建一个服务端

#1 进入容器
docker exec -it test bash
#2 安装netcat
sudo apt-get update
sudo apt-get install netcat
#3 nc通信
#创建一个服务端nc服务端用来监听该服务端端口的连接状态
#-l:监听模式,-p:监听的端口
#nc -l -p [端口]
nc -l -p 8090

4.2 创建一个客户端

在另一台机器上安装netcat,创建一个客户端用来连接4.1容器中的服务端,就可以在命令行相互通信了。

#nc [要连接的服务端IP地址] [要连接的服务端端口]
nc 192.168.3.87 8090

客户端:
在这里插入图片描述
服务端:
在这里插入图片描述

参考文章

netcat的使用
Docker给容器添加新端口映射两种方法及常用命令

这篇关于Docker部署项目时的服务端口设置——给容器添加新端口映射的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li

Linux:alias如何设置永久生效

《Linux:alias如何设置永久生效》在Linux中设置别名永久生效的步骤包括:在/root/.bashrc文件中配置别名,保存并退出,然后使用source命令(或点命令)使配置立即生效,这样,别... 目录linux:alias设置永久生效步骤保存退出后功能总结Linux:alias设置永久生效步骤

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3