How to dynamically add ports to Docker without rebuilding the image

How to dynamically add ports to Docker without rebuilding the image

Sometimes you may need to modify or add exposed ports to a Docker container during operation, but sometimes you don't want to create a new image for the running container. At this time, you can find the storage location of the docker container and then modify the configuration file directly.

Our containers are all stored in /var/lib/docker/containers下.

My container is at /var/lib/docker/containers/797f3d0cb82aec7d1c355c7461b5bc5a050c1c0cbbe5d813ede0edad061e6632

Each container ID corresponds to a hash_id. You can see that the nginx container exposes two ports. Next, let's add another port 9999.

Enter the directory corresponding to the container:

cd /var/lib/docker/containers/797f3d0cb82aec7d1c355c7461b5bc5a050c1c0cbbe5d813ede0edad061e6632

We see:

Copy hostconfig.json and use the json conversion tool to find the "PortBindings" node

Next we will add one on top by following the same pattern.

As shown in the figure:

Modify hostconfig.json and save.

Then modify config.v2.json的ExposedPorts , as shown in the figure:

Save and exit.

Restart Docker,

Restart the container.

As you can see, port 9999 has been exposed.

Summarize

The above is the method that I introduced to you to dynamically add ports to Docker without re-building the image. I hope it will be helpful to you. If you have any questions, please leave me a message and I will reply to you in time. I would also like to thank everyone for their support of the 123WORDPRESS.COM website!
If you find this article helpful, please feel free to reprint it and please indicate the source. Thank you!

You may also be interested in:
  • How to set port mapping for running container in Docker
  • How to achieve network access with Docker port mapping
  • Docker learning notes Docker port mapping
  • Detailed explanation of docker dynamically mapping running container ports
  • Docker port mapping in detail
  • Docker gets the image and reports an error: docker: Error response from daemon

<<:  MySQL Community Server 8.0.11 installation and configuration method graphic tutorial

>>:  A detailed introduction to JavaScript primitive values ​​and wrapper objects

Recommend

nginx solves the problem of slow image display and incomplete download

Written in front Recently, a reader told me that ...

Application example tutorial of key in Vue page rendering

introduction During the front-end project develop...

Vue3 compilation process-source code analysis

Preface: Vue3 has been released for a long time. ...

MySQL 8.0.12 decompression version installation tutorial personal test!

Mysql8.0.12 decompression version installation me...

JavaScript to achieve dynamic table effect

This article shares the specific code for JavaScr...

Native JS implementation of loading progress bar

This article shares a dynamic loading progress ba...

In-depth explanation of Session and Cookie in Tomcat

Preface HTTP is a stateless communication protoco...

Let's talk about what JavaScript's URL object is

Table of contents Overview Hash Properties Host p...

Six important selectors in CSS (remember them in three seconds)

From: https://blog.csdn.net/qq_44761243/article/d...

25 div+css programming tips and tricks

1. The ul tag has a padding value by default in M...

JS cross-domain XML--with AS URLLoader

Recently, I received a requirement for function ex...