Add mapping ip and host into /etc/hosts with docker I am using docker to scale my service.
I know there's a command called --add--host for adding host into /etc/host

However, I have a bunch of hosts need to be added. It's just too long to launch a docker in this way

docker run -it \
  --add-host=testing1.example.com:10.0.0.1 \
  --add-host=testing2.example.com:10.0.0.2 \
  --add-host=testing3.example.com:10.0.0.3 \
  ...


Therefore, I was thinking to create a function to read a mapping file and solve the problem.

The file format is like the following

host-list

14.64.65.3 A
11.64.65.18 B
12.64.65.23 C
13.10.200.63 D
13.10.5.77 E
14.10.5.72 F
15.10.5.81 G
...


I am new on shell script and have no idea to start with.
You could try to use docker compose and the docker compose "extra_hosts" tag, as described on the docker compose specification at https://docs.docker.com/compose/compose-file/.


  extra_hosts
  
  Add hostname mappings. Use the same values as the docker client --add-host parameter.
  
  extra_hosts:
  
  
  "somehost:162.242.195.82"
  "otherhost:50.31.209.229"
  
  
  An entry with the ip address and hostname is created in /etc/hosts 
  for this service, e.g:
  
  162.242.195.82  somehost
  
  50.31.209.229   otherhostinside containers


So, this will mean, that you need to use docker compose in addition to docker.