containers / podman-compose

a script to run docker-compose.yml using podman
GNU General Public License v2.0
5.01k stars 478 forks source link

Unable to create pod: Invalid containerPort #86

Open tfmm opened 4 years ago

tfmm commented 4 years ago

Trying out podman-compose, and getting the following error with a pretty simple compose file:

# podman-compose -f gogs.yaml up
podman pod create --name=compose --share net -p 10086:3000 -p 601342
Error: unable to create pod: Invalid containerPort: 601342

Here's the compose file:

version: "2"

services:
  gogs:
    image: gogs/gogs
    volumes:
      - /dockerdata/gogs/gogs:/data
    ports:
      - 10022:22
      - 60086:3000
    networks:
      - utils-network
    restart: always
    dns:
      - 192.168.1.210

  gogs-db_postgres:
    image: postgres:12-alpine 
    restart: always
    volumes:
      - /dockerdata/gogs/pgsql:/var/lib/postgresql/data
    environment: 
      - POSTGRES_PASSWORD=not_today_sir
      - POSTGRES_USER=gogs
    networks:
      - utils-network
    dns:
      - 192.168.1.210

I have tried this using the latest devel version of podman-compose, as well as the generally available version in pip.

tfmm commented 4 years ago

Figured this out, for reference, single quote your port mappings, or YAML may try to do math/interpret them as base64 numbers...

Corrected yaml:

version: "2"

services:
  gogs:
    image: gogs/gogs
    volumes:
      - /dockerdata/gogs/gogs:/data
    ports:
      - '10022:22'
      - '60086:3000'
    networks:
      - utils-network
    restart: always
    dns:
      - 192.168.1.210

  gogs-db_postgres:
    image: postgres:12-alpine 
    restart: always
    volumes:
      - /dockerdata/gogs/pgsql:/var/lib/postgresql/data
    environment: 
      - POSTGRES_PASSWORD=not_today_sir
      - POSTGRES_USER=gogs
    networks:
      - utils-network
    dns:
      - 192.168.1.210