Docker:MacOS环境下修改容器的端口号

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Docker:MacOS环境下修改容器的端口号

注意MacOS 和Linux 修改Docker 容器配置方式不一样

本文中 centos7.2 是容器名称

获取容器id

# docker inspect 容器id/容器name
$ docker inspect centos7.2 | grep Id
"Id": "c05fc37444df75bbf0f3277ee36b9997c8ef401568d7c5149bb4aca1c25160b2"

进入Docker终端

# 停止容器
docker stop centos7.2
# 进入docker终端
# 如果卡住,直接回车
screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
# 进入容器配置目录
$ cd /var/lib/docker/containers/c05fc37444df75bbf0f3277ee36b9997c8ef401568d7c5149bb4aca1c25160b2
# 容器配置目录文件
$ ls
c05fc37444df75bbf0f3277ee36b9997c8ef401568d7c5149bb4aca1c25160b2-json.log
checkpoints
config.v2.json
hostconfig.json
hostname
hosts
mounts
resolv.conf
resolv.conf.hash
docker-desktop:/var/lib/docker/containers/c05fc37444df75bbf0f3277ee36b9997c8ef401568d7c5149bb4aca1c25160b2
# 退出终端
# `ctrl+a+k`退出终端,输入y

修改端口配置

1、hostconfig.json 添加端口绑定

vi hostconfig.json
# 搜索关键字
/PortBindings
"PortBindings":{"8080/tcp":[{"HostIp":"","HostPort":"8082"}]}
# 修改为 相当于运行参数 -p 8086:3306
"PortBindings":{"8080/tcp":[{"HostIp":"","HostPort":"8082"}], "3306/tcp":[{"HostIp":"","HostPort":"8086"}]}

2、config.v2.json 加上要暴露的端口

vi config.v2.json
# 搜索关键字
/ExposedPorts
"ExposedPorts":{"8080/tcp":{}}
# 修改为
"ExposedPorts":{"8080/tcp":{}, "3306/tcp":{}}

说明:

  • 8080/tcp 是容器端口
  • "HostPort":"8082" 是宿主主机端口,就是MacOS的端口

重启docker重要,让docker重新读容器的取配置文件)

# 启动容器
$ docker start centos7.2
# 再次查看端口映射,已经生效了
$ docker port centos7.2
3306/tcp -> 0.0.0.0:8086
8080/tcp -> 0.0.0.0:8082

参考

Docker之Mac下直接修改容器配置

Mac动态给Docker开放端口


相关文章
|
23小时前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面
|
1天前
|
弹性计算 Shell 数据安全/隐私保护
自动化构建和部署Docker容器
【4月更文挑战第30天】
5 0
|
2天前
|
存储 虚拟化 数据中心
|
2天前
|
运维 Prometheus 监控
构建高效稳定的Docker容器监控体系
【4月更文挑战第29天】在微服务架构日益普及的当下,Docker作为轻量级容器的代表,被广泛应用于服务部署与管理。然而,随之而来的是复杂化的服务监控问题。本文旨在探讨如何构建一个高效且稳定的Docker容器监控体系,确保服务的高可用性。我们将从监控工具的选择、关键监控指标的确定,以及告警机制的设计等方面进行详细阐述,并提供一系列优化实践,以期为运维人员提供参考和指导。
|
2天前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用合集之关于在Docker环境中部署和维护PolarDB-X,有相关文章可以参考吗
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
3天前
|
Java Maven Docker
基于docker容器化部署微服务
基于docker容器化部署微服务
5 0
|
3天前
|
网络协议 Java Docker
使用docker编排容器(下)
使用docker编排容器(下)
8 0
|
3天前
|
Java 应用服务中间件 nginx
使用docker编排容器(上)
使用docker编排容器
7 0
|
3天前
|
Prometheus 监控 Cloud Native
构建高效的Docker容器监控体系
【4月更文挑战第28天】 在微服务架构和容器化部署日益普及的今天,对容器进行有效的性能监控成为确保系统稳定性的关键。本文将深入探讨如何构建一个高效的Docker容器监控体系,覆盖从监控指标的选择、数据采集、存储到可视化展示的全流程。我们将分析现有监控工具的优势与局限,并提出一种综合使用Prometheus、Grafana和自定义监控脚本的解决方案,旨在为运维人员提供实时、准确的容器监控数据,帮助快速定位并解决潜在问题。
14 1
|
3天前
|
Linux 网络安全 Docker
【Linux】-docker配置容器并打包成镜像
【Linux】-docker配置容器并打包成镜像