修改docker mysql容器端口的映射

修改docker mysql容器端口的映射

参考来源地址:https://blog.csdn.net/my_chenjie/article/details/85058032

大家都知道docker run可以指定端口映射,但是容器一旦生成,就没有一个命令可以直接修改。通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射。

有没有办法不保存镜像而直接修改已有的这个容器呢?有

我的操作步骤是:

  1. 停止容器 (docker stop container_id)
docker stop 712a3f0e5035
  1. 停止docker服务(systemctl stop docker)
systemctl stop docker
  1. 修改这个容器的hostconfig.json文件中的端口
    cd /var/lib/docker/712a3f0e5035* #这里是CONTAINER ID
    vi hostconfig.json
    如果之前没有端口映射, 应该有这样的一段:
    “PortBindings”:{}
    增加一个映射, 这样写:
    “PortBindings”:{“3306/tcp”:[{“HostIp”:"",“HostPort”:“3307”}]}
    前一个数字是容器端口, 后一个是宿主机端口.
    而修改现有端口映射更简单, 把端口号改掉就行.
    我改成"PortBindings":{“3306/tcp”:[{“HostIp”:"",“HostPort”:“3306”}]}

(原帖有人提到,如果config.v2.json里面也记录了端口,也要修改)

  1. 启动docker服务(systemctl start docker)
systemctl start docker
  1. 启动容器
docker start 712

查看修改后的结果为:

[root@node114 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                    NAMES
52ecb0aa3b1b        supermap/iportal    "/bin/sh -c /opt/run…"   8 weeks ago         Exited (137) 13 minutes ago                            iportalserver
9f1c40dd51cf        supermap/iserver    "/bin/sh -c /opt/run…"   8 weeks ago         Exited (137) 13 minutes ago                            supermapiserver
712a3f0e5035        8ef3                "container-entrypoin…"   8 weeks ago         Up 3 seconds                  0.0.0.0:3306->3306/tcp   MYSQL56docker
5c58116a7eb7        nginx               "nginx -g 'daemon of…"   8 weeks ago         Exited (0) 4 weeks ago                                 test

修改Docker中的MySQL容器,可以按照以下步骤进行操作: 1. 停止并移除当前正在运行的MySQL容器。可以使用`docker stop`和`docker rm`命令完成这一步骤: ``` docker stop mysql_container_name docker rm mysql_container_name ``` 2. 拉取所需MySQL镜像。可以使用`docker pull`命令从Docker Hub上拉取最新的MySQL镜像: ``` docker pull mysql ``` 3. 创建并启动新的MySQL容器。可以使用`docker run`命令创建并启动一个新的MySQL容器,并指定所需的参数,如容器名称、端口映射、数据卷挂载和环境变量等: ``` docker run -d --name new_mysql_container -p host_port:container_port -e MYSQL_ROOT_PASSWORD=your_password -v /path/to/data:/var/lib/mysql mysql ``` 在上述命令中,`new_mysql_container`是新的容器名称,`host_port`是本地主机端口号,`container_port`是容器内部MySQL服务的端口号,`your_password`是MySQL root用户的密码,`/path/to/data`是用于存储MySQL数据的宿主机路径。 4. 连接到新的MySQL容器。可以使用MySQL客户端工具如`mysql`或`phpMyAdmin`等连接到新的MySQL容器,并使用指定端口号和密码进行连接。 5. 修改MySQL配置。在连接到新的MySQL容器后,可以修改MySQL的配置文件以满足特定需求。配置文件通常位于容器内部的`/etc/mysql/my.cnf`路径下。 6. 重新启动MySQL容器。在修改配置文件后,需重新启动MySQL容器使新的配置生效: ``` docker restart new_mysql_container ``` 通过以上步骤,就可以成功修改DockerMySQL容器的配置。在修改完成后,可以继续使用MySQL客户端工具连接到新的容器进行数据库操作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值