dockerflaskdocker-composeweb-applicationsubuntu-22.04

Unable to rebuild and upload using docker-compose


Following this tutorial, when I am running following command,

docker-compose up --build

I am getting the following error:

Building app
[+] Building 4.0s (11/11) FINISHED                                                                                              docker:default
 => [internal] load build definition from Dockerfile                                                                                      0.0s
 => => transferring dockerfile: 351B                                                                                                      0.0s
 => [internal] load metadata for docker.io/library/python:3.11                                                                            4.0s
 => [internal] load .dockerignore                                                                                                         0.0s
 => => transferring context: 2B                                                                                                           0.0s
 => [internal] load build context                                                                                                         0.0s
 => => transferring context: 290B                                                                                                         0.0s
 => [1/6] FROM docker.io/library/python:3.11@sha256:a87accdfc2fd5cca7e2ffeabb5c32749b932bc3d1e5a25c3b6adc0c26af7fce8                      0.0s
 => CACHED [2/6] WORKDIR /code                                                                                                            0.0s
 => CACHED [3/6] ADD ./siel1.pem /ssl_certs/siel1.pem                                                                                     0.0s
 => CACHED [4/6] COPY ./requirements.txt /code/requirements.txt                                                                           0.0s
 => CACHED [5/6] RUN pip install --no-cache-dir --cert /ssl_certs/siel1.pem -r /code/requirements.txt                                     0.0s
 => CACHED [6/6] COPY ./app /code/app                                                                                                     0.0s
 => exporting to image                                                                                                                    0.0s
 => => exporting layers                                                                                                                   0.0s
 => => writing image sha256:0538dd04d8c22c701d6a71dd31ee66b02fea872cff066500f4e18f29f1d4afeb                                              0.0s
 => => naming to docker.io/library/ml-docker-flask-api_app                                                                                0.0s
Recreating 51ed37ac1d4a_ml-docker-flask-api_app_1 ... 

ERROR: for 51ed37ac1d4a_ml-docker-flask-api_app_1  'ContainerConfig'

ERROR: for app  'ContainerConfig'
Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 33, in <module>
    sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 81, in main
    command_func()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 203, in perform_command
    handler(command, command_options)
  File "/usr/lib/python3/dist-packages/compose/metrics/decorator.py", line 18, in wrapper
    result = fn(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1186, in up
    to_attach = up(False)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1166, in up
    return self.project.up(
  File "/usr/lib/python3/dist-packages/compose/project.py", line 697, in up
    results, errors = parallel.parallel_execute(
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer
    result = func(obj)
  File "/usr/lib/python3/dist-packages/compose/project.py", line 679, in do
    return service.execute_convergence_plan(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 579, in execute_convergence_plan
    return self._execute_convergence_recreate(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 499, in _execute_convergence_recreate
    containers, errors = parallel_execute(
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer
    result = func(obj)
  File "/usr/lib/python3/dist-packages/compose/service.py", line 494, in recreate
    return self.recreate_container(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 612, in recreate_container
    new_container = self.create_container(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 330, in create_container
    container_options = self._get_container_create_options(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 921, in _get_container_create_options
    container_options, override_options = self._build_container_volume_options(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 960, in _build_container_volume_options
    binds, affinity = merge_volume_bindings(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 1548, in merge_volume_bindings
    old_volumes, old_mounts = get_container_data_volumes(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 1579, in get_container_data_volumes
    container.image_config['ContainerConfig'].get('Volumes') or {}
KeyError: 'ContainerConfig'

My docker file:

FROM python:3.11
WORKDIR /code
ADD ./custom.pem /ssl_certs/custom.pem
COPY ./requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --cert /ssl_certs/custom.pem -r /code/requirements.txt
COPY ./app /code/app
EXPOSE 8000
CMD ["uvicorn", "app.server:app", "--host", "0.0.0.0", "--port", "8000"]

My docker-compose.yml file is:

version: '3'
services:
  app:
    build: .
    ports:
      - "8000:8000"
    volumes:
      - .:/code
    command: uvicorn app.server:app --host 0.0.0.0 --port 8000

What am I missing?


Solution

  • running with:

    docker compose up -d
    

    instead of:

    docker-compose up -d