Tuesday, September 25, 2018

Quote your ports in Docker compose file

I struggled for quite a while to fix a Docker compose problem. I have this simple config line:


services:
  git:
    ports:
      - 2222:22


But I kept getting an error message when trying to start the instance:


  Cannot create container for service git: invalid port specification: "133342"


What the heck, where did that weird number come from ?!
It turns out YAML 1.1 supports so called "base 60 float" useful for time calculation. So 2222:22 is interpreted as 2222*60+22 which is 133342. ta-dah! It is not a problem if the parts contain numbers bigger than 60, e.g. 3306:3306, or 8080:80, so this problem does not always occur, making it covert.
So quote your ports!


services:
  git:
    ports:
      - "2222:22"

1 comment:

  1. Best article, very useful and explanation. Your post is extremely incredible. Thank you very much for the new information.
    DevOps Training
    DevOps Training institute in Ameerpet
    DevOps Classroom Training in Hyderabad

    ReplyDelete