MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

docker开启容器后,修改配置文件解决忘记映射端口号问题

2024-12-04 11:41 huorong 精选文章 11 ℃ 0 评论

先看下操作,真是一顿操作猛如虎,一看战绩0-5

首先配置harbor仓库,拉取仓库中的redis镜像

[root@localhost /]# docker pull hub.vrgv.com/devops/redis:20210104
[root@localhost /]# docker run -di --privileged=true --name redis hub.vrgv.com/devops/redis:20210104 /usr/sbin/init

注:我这里给容器开启了最高权限,忘记映射端口号了,也就是容器内部开多少个服务,我外部也无法访问到

进入容器修改了redis的配置,修改完,发现我的redis咋连接不上呢,开始检查防火墙规则,检查端口号蒙了,没有映射!

ss -nltp|grep 6379
[root@localhost /]# docker ps
CONTAINER ID        IMAGE                                COMMAND             CREATED             STATUS              PORTS               NAMES
f43e2f0edd2d        hub.vrgv.com/devops/redis:20210104   "/usr/sbin/init"    3 minutes ago       Up 3 minutes        6379/tcp            redis

开始想办法解决没有映射端口号的问题,第一我redis好不容易配置完的,不想再配置一遍,还有就是有没有直接修改的方案,懒得要死,不想commit后在docker run了。

找到了度娘,帮我解决了这个问题

步骤:

1.查看容器挂载位置

[root@localhost /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 2.0G     0  2.0G   0% /dev
tmpfs                    2.0G     0  2.0G   0% /dev/shm
tmpfs                    2.0G  8.8M  2.0G   1% /run
tmpfs                    2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/centos-root  8.0G  5.6G  2.5G  70% /
/dev/sda1               1014M  179M  836M  18% /boot
tmpfs                    393M     0  393M   0% /run/user/0
overlay                  8.0G  5.6G  2.5G  70% /vrgv/software/overlay2/50878e5cd036dbc68a07bebe1e38e7c7843f6daf43bd3a73c84a73a97fc337ec/merged
shm                       64M     0   64M   0% /vrgv/software/containers/f43e2f0edd2d5e92714feaf4419172e9d0e2e4db5dcd324b5251bf3eff138783/mounts/shm

我的是在/vrgv/software目录下,默认的是在/var/lib/下,我自定义修改过位置

2.查看容器ID号

[root@localhost /]# docker ps
CONTAINER ID        IMAGE                                COMMAND             CREATED             STATUS              PORTS               NAMES
f43e2f0edd2d        hub.vrgv.com/devops/redis:20210104   "/usr/sbin/init"    10 minutes ago      Up 6 seconds        6379/tcp            redis

3.关闭容器

[root@localhost /]# docker stop redis

4.修改容器配置文件

进入该容器的挂载位置

[root@localhost /]# cd /vrgv/software/containers/f43e2f0edd2d5e92714feaf4419172e9d0e2e4db5dcd324b5251bf3eff138783/

f43e2f0edd2d5e92714feaf4419172e9d0e2e4db5dcd324b5251bf3eff138783:第2步查看到的ID号,或者通过docker inspect查看容器具体信息,也会有显示

修改配置文件

[root@localhost f43e2f0edd2d5e92714feaf4419172e9d0e2e4db5dcd324b5251bf3eff138783]# vi hostconfig.json

原始是这个样子:"PortBindings":{},

修改成"PortBindings":{"6379/tcp":[{"HostIp":"","HostPort":"6379"}]},

前面的6379是容器内部的端口号,后面的是要映射出去的端口号,如果是修改端口号,那就更简单,直接修改数字即可

这时候千万不要重启容器,要重新docker引擎才会生效,要不然会恢复原始配置

[root@localhost /]# systemctl restart docker
[root@localhost /]# docker start redis
redis
[root@localhost /]# docker ps
CONTAINER ID        IMAGE                                COMMAND             CREATED             STATUS              PORTS                    NAMES
f43e2f0edd2d        hub.vrgv.com/devops/redis:20210104   "/usr/sbin/init"    28 minutes ago      Up 2 seconds        0.0.0.0:6379->6379/tcp   redis

好了,修改完成了


修改配置文件缺点:需要重新启动整个docker引擎!

Tags:docker查看容器详细信息

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言