首页 > 其他分享 >docker之旅 7.docker的端口映射解决所有不服

docker之旅 7.docker的端口映射解决所有不服

时间:2024-04-27 09:02:51浏览次数:24  
标签:容器 之旅 宿主机 端口 mysql docker 端口映射

这是我的 docker-compose.yml 文件

version: '2.x'

services:
  myNginx:
    image: nginx
    restart: always

  myRedis:
    image: redis
    restart: always
    ports:
      - "6379:6379"

  mysql:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: henry6764  # 设置 MySQL root 用户的密码
      MYSQL_USER: henry  # 设置自定义用户名
      MYSQL_PASSWORD: henry6764  # 设置自定义用户的密码
    ports:
      - "3307:3306"  # 将容器的 MySQL 默认端口映射到宿主机的 3306 端口
    volumes:
      - /home/henry/mysqlFilePath:/var/lib/mysql  # 将容器内的 MySQL 数据目录挂载到宿主机上

在这里,我将宿主机的 3307 端口 映射到 mysql容器的 3306端口。

下面看下 文心一言 对docker端口映射的解释:

  • 当您映射了宿主机的3307端口到容器的3306端口后,您可以通过宿主机的IP地址和映射的端口来访问MySQL服务。这是Docker端口映射功能的典型用法,它允许您通过宿主机的某个端口来访问容器内的服务,即使服务在容器内部监听的是另一个端口。
  • 在这种情况下,您不需要知道容器的IP地址,因为Docker的端口映射功能会在宿主机上创建一个监听在特定端口(本例中是3307)的代理,该代理会将流量转发到容器内的相应端口(本例中是3306)

因此,我在宿主机上面,有2种方式访问 mysql容器。

1.使用 mysql 容器的Ip 地址 + 3306 端口访问

2.使用 宿主机的IP地址(比如我这里的宿主机就是我的centos7系统) + 3307 端口 访问

有了宿主机这一层的 端口映射之后,外部 直接访问 宿主机ip + 3307 端口,就可以访问到 mysql容器了。

 

至于docker 是如何使用这个端口映射,如何维护这个端口映射,我没有去深入研究。知道这是Docker端口映射功能的典型用法即可。

docker 端口映射,解决所有不服!

 

标签:容器,之旅,宿主机,端口,mysql,docker,端口映射
From: https://www.cnblogs.com/music-liang/p/18161244

相关文章

  • 面试题汇总——docker常用以及面试命令汇总
    Docker镜像使用当运行容器时,使用的镜像如果在本地中不存在,docker就会自动从docker镜像仓库中下载,默认是从 DockerHub 公共镜像源下载。下面我们来学习:1、管理和使用本地Docker主机镜像2、创建镜像 列出镜像列表我们可以使用 dockerimages 来列出本地主机上......
  • DockerDestop启动k8s失败
    在DockerDestop中找到Kubernetes--->EnableKubernetesKubernetes大概率会一直starting......最后创建失败解决方法请查看下面链接:https://github.com/AliyunContainerService/k8s-for-docker-desktop/tree/v1.29.1总结:因为Kubernetes的镜像拉不下来,我们可以在Git......
  • centos 离线环境安装docker
    1.下载dockerhttps://download.docker.com/linux/static/stable/x86_64/docker-23.0.1.tgz  其他版本在上级目录选择下载https://download.docker.com/linux/static/stable/x86_64/2.下载的文件上传到centos服务器上并解压tar-zxvfdocker-23.0.1.tgz3.复制解压目录中的......
  • Linux环境下Docker安装和基本使用命令
    以下是在CentOS7.9上安装Docker的步骤:1.更新系统并安装必要的软件包sudoyumupdatesudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm22.添加DockerCE的软件源sudoyum-config-manager--add-repohttps://download.docker.com/linux/centos/......
  • docker存储配置与管理
    一、Docker存储概念1、容器本地存储与Docke存储驱动容器本地存储:每个容器都被自动分配了内部存储,即容器本地存储。采用的是联合文件系统。通过存储驱动进行管理。容器本地存储空间:分层结构构成,由一个可写容器层和若干只读的镜像层组成。联合文件系统:Docker的一种底层技术,由存......
  • 如何进入 Docker Desktop for Mac 虚拟机
    由于DockerDesktop使用最小化定制的linuxkit作为一个虚拟机提供docker宿主服务一般情况我们无法直接进入因为并没有提供完整的bbusbox工具服务20.10.5)版本以前cd/Users/****/Library/Containers/com.docker.docker/Data/vms/0/screentty新版本20.10.5)之后nc-U......
  • docker 日志驱动程序
    loggingdriver说明Docker中的日志驱动程序(loggingdriver)用于控制容器的日志记录方式,允许您将容器中生成的日志发送到不同的目标,如标准输出、文件、远程日志服务器等。loggingdriver类型none: 容器没有可用的日志,并且dockerlogs不返回任何输出。local: 日志以旨......
  • Docker - 基本概念、与虚拟机的区别、架构、镜像操作、容器操作、数据卷挂载
    Docker-基本概念、与虚拟机的区别、架构、镜像操作、容器操作、数据卷挂载 一、对Docker 的理解1、Docker基本概念我们平时开发大型项目组件较多,依赖关系复杂,环境差异大,通过Docker就可解决上述问题~ Docker就是一个快速交付应用、运行应用的技术:运行前后:......
  • 什么是 Docker?Docker详解,7分钟学会
    Docker容器是一种打包格式,可通过标准格式打包应用的所有代码和依赖关系,确保应用能够快速、可靠地在计算环境下运行。Docker容器是一种广受欢迎的轻量级、可执行的独立容器,其中包含应用运行所需的一切要素,包括库、系统工具、代码和运行时。此外,Docker还是一个软件平台,支持开发人......
  • 使用docker部署livox_camera_calib环境
    ROS系统安装使用fishros的一键安装脚本,选择ros1的kinetic版本。具体安装以及连接容器过程可查看视频Docker版ROS安装。注意:启动容器时应从命令行启动,不要在vscode中连接容器。否则在启动rviz时,程序会找不到显示输出设备,rviz会直接die。环境配置安装完Docker版本ROS后需要的再......