Skip to content

Instantly share code, notes, and snippets.

@ontologiae
Created April 30, 2024 18:15
Show Gist options
  • Save ontologiae/94bc530fa29e02d385acb883a3e799c1 to your computer and use it in GitHub Desktop.
Save ontologiae/94bc530fa29e02d385acb883a3e799c1 to your computer and use it in GitHub Desktop.
docker compose chaine chargement sql
version: '3.8'
services:
csv2sql:
image: csv2sql:latest # Remplacez par le nom/tag de votre image Docker
build: ./csv2sql
volumes:
- data:/home/opam/csvsql
entrypoint: /bin/sh -c "while true; do sleep 30; done" # Garder le conteneur en vie pour l'exécution des commandes
postgres:
image: postgres:latest
volumes:
- data:/docker-entrypoint-initdb.d/ # Script pour charger le fichier SQL dans PostgreSQL
environment:
POSTGRES_DB: arboretum
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
data:
@ontologiae
Copy link
Author

compose --log-level INFO --verbose up --build 
/usr/lib/python3/dist-packages/paramiko/transport.py:237: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
compose.cli.docker_client.get_client: docker-compose version 1.29.2, build unknown
docker-py version: 5.0.3
CPython version: 3.10.12
OpenSSL version: OpenSSL 3.0.2 15 Mar 2022
compose.cli.docker_client.get_client: Docker base_url: http+docker://localhost
compose.cli.docker_client.get_client: Docker version: Platform={'Name': 'Docker Engine - Community'}, Components=[{'Name': 'Engine', 'Version': '26.1.0', 'Details': {'ApiVersion': '1.45', 'Arch': 'amd64', 'BuildTime': '2024-04-22T17:06:41.000000000+00:00', 'Experimental': 'false', 'GitCommit': 'c8af8eb', 'GoVersion': 'go1.21.9', 'KernelVersion': '5.15.0-102-generic', 'MinAPIVersion': '1.24', 'Os': 'linux'}}, {'Name': 'containerd', 'Version': '1.6.31', 'Details': {'GitCommit': 'e377cd56a71523140ca6ae87e30244719194a521'}}, {'Name': 'runc', 'Version': '1.1.12', 'Details': {'GitCommit': 'v1.1.12-0-g51d5e94'}}, {'Name': 'docker-init', 'Version': '0.19.0', 'Details': {'GitCommit': 'de40ad0'}}], Version=26.1.0, ApiVersion=1.45, MinAPIVersion=1.24, GitCommit=c8af8eb, GoVersion=go1.21.9, Os=linux, Arch=amd64, KernelVersion=5.15.0-102-generic, BuildTime=2024-04-22T17:06:41.000000000+00:00
compose.cli.verbose_proxy.proxy_callable: docker inspect_network <- ('dockers_default')
compose.cli.verbose_proxy.proxy_callable: docker inspect_network -> {'Attachable': True,
 'ConfigFrom': {'Network': ''},
 'ConfigOnly': False,
 'Containers': {},
 'Created': '2024-04-28T15:58:35.100515708+02:00',
 'Driver': 'bridge',
 'EnableIPv6': False,
 'IPAM': {'Config': [{'Gateway': '172.18.0.1', 'Subnet': '172.18.0.0/16'}],
          'Driver': 'default',
          'Options': None},
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume <- ('dockers_data')
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume -> {'CreatedAt': '2024-04-28T15:58:35+02:00',
 'Driver': 'local',
 'Labels': {'com.docker.compose.project': 'dockers',
            'com.docker.compose.version': '1.29.2',
            'com.docker.compose.volume': 'data'},
 'Mountpoint': '/var/lib/docker/volumes/dockers_data/_data',
 'Name': 'dockers_data',
 'Options': None,
 'Scope': 'local'}
compose.cli.verbose_proxy.proxy_callable: docker info <- ()
compose.cli.verbose_proxy.proxy_callable: docker info -> {'Architecture': 'x86_64',
 'BridgeNfIp6tables': True,
 'BridgeNfIptables': True,
 'CDISpecDirs': [],
 'CPUSet': True,
 'CPUShares': True,
 'CgroupDriver': 'systemd',
 'CgroupVersion': '2',
 'ContainerdCommit': {'Expected': 'e377cd56a71523140ca6ae87e30244719194a521',
                      'ID': 'e377cd56a71523140ca6ae87e30244719194a521'},
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_network <- ('dockers_default')
compose.cli.verbose_proxy.proxy_callable: docker inspect_network -> {'Attachable': True,
 'ConfigFrom': {'Network': ''},
 'ConfigOnly': False,
 'Containers': {},
 'Created': '2024-04-28T15:58:35.100515708+02:00',
 'Driver': 'bridge',
 'EnableIPv6': False,
 'IPAM': {'Config': [{'Gateway': '172.18.0.1', 'Subnet': '172.18.0.0/16'}],
          'Driver': 'default',
          'Options': None},
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume <- ('dockers_data')
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume -> {'CreatedAt': '2024-04-28T15:58:35+02:00',
 'Driver': 'local',
 'Labels': {'com.docker.compose.project': 'dockers',
            'com.docker.compose.version': '1.29.2',
            'com.docker.compose.volume': 'data'},
 'Mountpoint': '/var/lib/docker/volumes/dockers_data/_data',
 'Name': 'dockers_data',
 'Options': None,
 'Scope': 'local'}
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume <- ('dockers_data')
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume -> {'CreatedAt': '2024-04-28T15:58:35+02:00',
 'Driver': 'local',
 'Labels': {'com.docker.compose.project': 'dockers',
            'com.docker.compose.version': '1.29.2',
            'com.docker.compose.volume': 'data'},
 'Mountpoint': '/var/lib/docker/volumes/dockers_data/_data',
 'Name': 'dockers_data',
 'Options': None,
 'Scope': 'local'}
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=False, filters={'label': ['com.docker.compose.project=dockers', 'com.docker.compose.oneoff=False']})
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=False, filters={'label': ['com.docker.compose.project=dockers', 'com.docker.compose.oneoff=False']})
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=dockers', 'com.docker.compose.oneoff=False']})
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 2 items)
compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('771c38fd8e604385c59c7e561babc4914d3df80e1af11f56ca8b1a7f9f3dd569')
compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {'AppArmorProfile': 'docker-default',
 'Args': ['-c', 'while true; do sleep 30; done'],
 'Config': {'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': None,
            'Domainname': '',
            'Entrypoint': ['/bin/sh', '-c', 'while true; do sleep 30; done'],
            'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin',
                    'HOME=/home/opam',
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('dcecfc28ac6a2b30d9f25cc67241f9418968857b2012dbd7036d53b874d155bc')
compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {'AppArmorProfile': 'docker-default',
 'Args': ['postgres'],
 'Config': {'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': ['postgres'],
            'Domainname': '',
            'Entrypoint': ['docker-entrypoint.sh'],
            'Env': ['POSTGRES_DB=arboretum',
                    'POSTGRES_USER=postgres',
...
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=dockers', 'com.docker.compose.service=csv2sql', 'com.docker.compose.oneoff=False']})
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 1 items)
compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('771c38fd8e604385c59c7e561babc4914d3df80e1af11f56ca8b1a7f9f3dd569')
compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {'AppArmorProfile': 'docker-default',
 'Args': ['-c', 'while true; do sleep 30; done'],
 'Config': {'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': None,
            'Domainname': '',
            'Entrypoint': ['/bin/sh', '-c', 'while true; do sleep 30; done'],
            'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin',
                    'HOME=/home/opam',
...
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=dockers', 'com.docker.compose.service=postgres', 'com.docker.compose.oneoff=False']})
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 1 items)
compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('dcecfc28ac6a2b30d9f25cc67241f9418968857b2012dbd7036d53b874d155bc')
compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {'AppArmorProfile': 'docker-default',
 'Args': ['postgres'],
 'Config': {'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': ['postgres'],
            'Domainname': '',
            'Entrypoint': ['docker-entrypoint.sh'],
            'Env': ['POSTGRES_DB=arboretum',
                    'POSTGRES_USER=postgres',
...
compose.service.build: Building csv2sql
[+] Building 0.9s (23/23) FINISHED                                                                                                                                                                 docker:default
 => [internal] load build definition from Dockerfile                                                                                                                                                         0.0s
 => => transferring dockerfile: 1.20kB                                                                                                                                                                       0.0s
 => [internal] load metadata for docker.io/ocaml/opam:ubuntu-23.10-ocaml-5.2                                                                                                                                 0.7s
 => [internal] load .dockerignore                                                                                                                                                                            0.0s
 => => transferring context: 2B                                                                                                                                                                              0.0s
 => [ 1/18] FROM docker.io/ocaml/opam:ubuntu-23.10-ocaml-5.2@sha256:0639ec9eb2a9e4124b6c73d0946607ca0882bdf54d4093fc5427e0a1ee752912                                                                         0.0s
 => [internal] load build context                                                                                                                                                                            0.0s
 => => transferring context: 259B                                                                                                                                                                            0.0s
 => CACHED [ 2/18] RUN sudo apt install git make                                                                                                                                                             0.0s
 => CACHED [ 3/18] RUN opam install batteries ocamlfind                                                                                                                                                      0.0s
 => CACHED [ 4/18] RUN opam exec -- ocamlfind printconf                                                                                                                                                      0.0s
 => CACHED [ 5/18] RUN eval $(opam env)                                                                                                                                                                      0.0s
 => CACHED [ 6/18] WORKDIR /home/opam/autocsv2sql                                                                                                                                                            0.0s
 => CACHED [ 7/18] RUN git clone https://github.com/ontologiae/autocsv2sql.git /home/opam/autocsv2sql                                                                                                        0.0s
 => CACHED [ 8/18] WORKDIR /home/opam/autocsv2sql                                                                                                                                                            0.0s
 => CACHED [ 9/18] RUN pwd                                                                                                                                                                                   0.0s
 => CACHED [10/18] RUN ls -lath                                                                                                                                                                              0.0s
 => CACHED [11/18] RUN opam exec -- ocamlfind opt -o autocsv2sql -thread -linkpkg -package threads,batteries autocsv2sql.ml                                                                                  0.0s
 => CACHED [12/18] RUN sudo make install                                                                                                                                                                     0.0s
 => CACHED [13/18] RUN mkdir /home/opam/csvsql                                                                                                                                                               0.0s
 => CACHED [14/18] COPY ./csvsql/*.csv /home/opam/csvsql/                                                                                                                                                    0.0s
 => CACHED [15/18] RUN ls -lath /home/opam/csvsql/                                                                                                                                                           0.0s
 => CACHED [16/18] WORKDIR /home/opam/csvsql/                                                                                                                                                                0.0s
 => CACHED [17/18] RUN for f in /home/opam/csvsql/*.csv; do echo $f; autocsv2sql $f > $(basename $f .csv | awk '{printf "%03d_%s.sql", NR, $0}') ; done                                                      0.0s
 => CACHED [18/18] RUN ls -lath /home/opam/csvsql/                                                                                                                                                           0.0s
 => exporting to image                                                                                                                                                                                       0.0s
 => => exporting layers                                                                                                                                                                                      0.0s
 => => writing image sha256:569cc4823d3bb7ef8616d4cdd0dca36dce20b264c250aa8eef4a27971342a11c                                                                                                                 0.0s
 => => naming to docker.io/library/csv2sql:latest                                                                                                                                                            0.0s
compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('postgres:latest')
compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {'Architecture': 'amd64',
 'Author': '',
 'Comment': 'buildkit.dockerfile.v0',
 'Config': {'ArgsEscaped': True,
            'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': ['postgres'],
            'Domainname': '',
            'Entrypoint': ['docker-entrypoint.sh'],
...
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=dockers', 'com.docker.compose.service=csv2sql', 'com.docker.compose.oneoff=False']})
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 1 items)
compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('csv2sql:latest')
compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {'Architecture': 'amd64',
 'Author': '',
 'Comment': 'buildkit.dockerfile.v0',
 'Config': {'ArgsEscaped': True,
            'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': ['echo', 'compile OK'],
            'Domainname': '',
            'Entrypoint': ['opam', 'exec', '--'],
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('771c38fd8e604385c59c7e561babc4914d3df80e1af11f56ca8b1a7f9f3dd569')
compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {'AppArmorProfile': 'docker-default',
 'Args': ['-c', 'while true; do sleep 30; done'],
 'Config': {'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': None,
            'Domainname': '',
            'Entrypoint': ['/bin/sh', '-c', 'while true; do sleep 30; done'],
            'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin',
                    'HOME=/home/opam',
...
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=dockers', 'com.docker.compose.service=postgres', 'com.docker.compose.oneoff=False']})
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 1 items)
compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('postgres:latest')
compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {'Architecture': 'amd64',
 'Author': '',
 'Comment': 'buildkit.dockerfile.v0',
 'Config': {'ArgsEscaped': True,
            'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': ['postgres'],
            'Domainname': '',
            'Entrypoint': ['docker-entrypoint.sh'],
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('dcecfc28ac6a2b30d9f25cc67241f9418968857b2012dbd7036d53b874d155bc')
compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {'AppArmorProfile': 'docker-default',
 'Args': ['postgres'],
 'Config': {'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': ['postgres'],
            'Domainname': '',
            'Entrypoint': ['docker-entrypoint.sh'],
            'Env': ['POSTGRES_DB=arboretum',
                    'POSTGRES_USER=postgres',
...
Recreating dcecfc28ac6a_dockers_postgres_1 ... 
Recreating 771c38fd8e60_dockers_csv2sql_1  ... 
compose.cli.verbose_proxy.proxy_callable: docker stop <- ('dcecfc28ac6a2b30d9f25cc67241f9418968857b2012dbd7036d53b874d155bc', timeout=10)
compose.cli.verbose_proxy.proxy_callable: docker stop <- ('771c38fd8e604385c59c7e561babc4914d3df80e1af11f56ca8b1a7f9f3dd569', timeout=10)
compose.cli.verbose_proxy.proxy_callable: docker stop -> None
compose.cli.verbose_proxy.proxy_callable: docker stop -> None
compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('csv2sql:latest')
compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('postgres:latest')
compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {'Architecture': 'amd64',
 'Author': '',
 'Comment': 'buildkit.dockerfile.v0',
 'Config': {'ArgsEscaped': True,
            'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': ['echo', 'compile OK'],
            'Domainname': '',
            'Entrypoint': ['opam', 'exec', '--'],
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('sha256:0a050fb3febeca6cf8748e01b810e295c0c744021091914546a20f5ac6f45fb6')
compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {'Architecture': 'amd64',
 'Author': '',
 'Comment': 'buildkit.dockerfile.v0',
 'Config': {'ArgsEscaped': True,
            'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': ['postgres'],
            'Domainname': '',
            'Entrypoint': ['docker-entrypoint.sh'],
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('sha256:9181f7259a3da483f0f1ef5b4a5879858f933cd24d6c8791b717b07853083098')
compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {'Architecture': 'amd64',
 'Author': '',
 'Comment': 'buildkit.dockerfile.v0',
 'Config': {'ArgsEscaped': True,
            'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': ['echo', 'compile OK'],
            'Domainname': '',
            'Entrypoint': ['opam', 'exec', '--'],
...

ERROR: for 771c38fd8e60_dockers_csv2sql_1  'ContainerConfig'
compose.cli.verbose_proxy.proxy_callable: docker inspect_image -> {'Architecture': 'amd64',
 'Author': '',
 'Comment': 'buildkit.dockerfile.v0',
 'Config': {'ArgsEscaped': True,
            'AttachStderr': False,
            'AttachStdin': False,
            'AttachStdout': False,
            'Cmd': ['postgres'],
            'Domainname': '',
            'Entrypoint': ['docker-entrypoint.sh'],
...

ERROR: for dcecfc28ac6a_dockers_postgres_1  'ContainerConfig'

ERROR: for csv2sql  'ContainerConfig'

ERROR: for postgres  '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'

@da-max
Copy link

da-max commented Apr 30, 2024

version: '3.8'
services:
  csv2sql:
    image: csv2sql:latest  # Remplacez par le nom/tag de votre image Docker
    build: ./csv2sql
    volumes:
      - .:/home/opam/csvsql
    entrypoint: /bin/sh -c "while true; do sleep 30; done"  # Garder le conteneur en vie pour l'exécution des commandes

  postgres:
    image: postgres:latest
    volumes:
      - .:/docker-entrypoint-initdb.d/  # Script pour charger le fichier SQL dans PostgreSQL
    environment:
      POSTGRES_DB: arboretum
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment