metasfresh / metasfresh-docker

GNU General Public License v2.0
36 stars 39 forks source link

ERROR: for app Cannot create container for service app: bad parameter: Link is not supported #74

Open idc77 opened 2 years ago

idc77 commented 2 years ago

Is this a bug or feature request?

bug

What is the current behavior?

# docker-compose up -d
Building db
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
STEP 1/8: FROM metasfresh/metasfresh-db:5.173
✔ docker.io/metasfresh/metasfresh-db:5.173
Trying to pull docker.io/metasfresh/metasfresh-db:5.173...
Getting image source signatures
Copying blob 973a0c44ddba done  
Copying blob fa1690ae9228 done  
Copying blob a0b157088f7a done  
Copying blob 578aad0862c9 done  
Copying blob a73f6e07b158 done  
Copying blob 07e5342b01d4 done  
Copying blob ae19407bdc48 done  
Copying blob e53b7c20aa96 done  
Copying blob 6c9046f06fc5 done  
Copying blob a135edcc0831 done  
Copying blob 18d9026fcfbd done  
Copying blob fed07b1b1b94 done  
Copying blob 4d2d5fae97d9 done  
Copying blob d419466e642d done  
Copying blob 0bdd5d66d65d done  
Copying blob 911625c7de4d done  
Copying blob 61d0ede33230 done  
Copying blob 61c6eee61125 done  
Copying blob 62d7c291079b done  
Copying config 71f5991b10 done  
Writing manifest to image destination
Storing signatures
STEP 2/8: RUN localedef -i de_DE -c -f UTF-8 -A /usr/share/locale/locale.alias de_DE.UTF-8
--> bb3f5668c42
STEP 3/8: RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
--> f01d2dee2d8
STEP 4/8: ENV LANG=de_DE.UTF-8
--> a66b25136a0
STEP 5/8: ENV LANGUAGE=en_US.UTF-8
--> 02eb5eaf211
STEP 6/8: ENV LC_MESSAGES=en_US.UTF-8
--> 48612aa8860
STEP 7/8: ENTRYPOINT ["/docker-entrypoint.sh"]
--> 0e381b4643b
STEP 8/8: CMD ["postgres"]
COMMIT metasfresh-docker_db
--> d4a17d9f463
Successfully tagged localhost/metasfresh-docker_db:latest
d4a17d9f463c149e3f799540d352c7bec429541aec43b2286f08fd9bd8877434
WARNING: Image for service db was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Building rabbitmq
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
STEP 1/1: FROM rabbitmq:3.7.4
✔ docker.io/library/rabbitmq:3.7.4
Trying to pull docker.io/library/rabbitmq:3.7.4...
Getting image source signatures
Copying blob bc632ec8d54c done  
Copying blob f2aa67a397c4 done  
Copying blob 5b66af38c756 done  
Copying blob e17b0fb78cd2 done  
Copying blob 8b9469379b84 done  
Copying blob f062288ad968 done  
Copying blob 3b01aa133390 done  
Copying blob 54310da88580 done  
Copying blob 42a08f0de532 done  
Copying blob 7622207aa3f2 done  
Copying blob b8ff1b0c6268 done  
Copying blob d8c0beaf52d6 done  
Copying config cae5b74b77 done  
Writing manifest to image destination
Storing signatures
COMMIT metasfresh-docker_rabbitmq
--> cae5b74b77d
Successfully tagged localhost/metasfresh-docker_rabbitmq:latest
Successfully tagged docker.io/library/rabbitmq:3.7.4
cae5b74b77de7b5b56be5ef01f5e47b83506d7358c25e92c2095ea3d68c3418a
WARNING: Image for service rabbitmq was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Building search
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
STEP 1/5: FROM docker.elastic.co/elasticsearch/elasticsearch:7.9.3
Trying to pull docker.elastic.co/elasticsearch/elasticsearch:7.9.3...
Getting image source signatures
Copying blob 0daf89d8c887 done  
Copying blob f1feca467797 done  
Copying blob 39d9d8875a6d done  
Copying blob e7a6547bd7a1 done  
Copying blob a9cfa40c5418 done  
Copying blob c84049f0f38a done  
Copying blob 9068e5a839f5 done  
Copying blob 0d190ac61a88 done  
Copying blob 0d768056b087 done  
Copying config 1ab13f928d done  
Writing manifest to image destination
Storing signatures
STEP 2/5: ENV discovery.type=single-node
--> d3d1f7be9a8
STEP 3/5: COPY sources/start-custom.sh /usr/local/bin/start-custom.sh
--> 4148ad97077
STEP 4/5: RUN chmod +x /usr/local/bin/start-custom.sh
--> 82b6ca4bae4
STEP 5/5: ENTRYPOINT ["/usr/local/bin/start-custom.sh"]
COMMIT metasfresh-docker_search
--> 86e4219488b
Successfully tagged localhost/metasfresh-docker_search:latest
86e4219488b18dd55c17b8d13c823aafc3c77a9860a421959a6c3f45ad1829f6
WARNING: Image for service search was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Building app
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
STEP 1/5: FROM metasfresh/metasfresh-app:5.173
✔ docker.io/metasfresh/metasfresh-app:5.173
Trying to pull docker.io/metasfresh/metasfresh-app:5.173...
Getting image source signatures
Copying blob 4f7743eb1092 done  
Copying blob 48c10d6ab0c5 done  
Copying blob 58690f9b18fc done  
Copying blob da8ef40b9eca done  
Copying blob fb15d46c38dc done  
Copying blob b51569e7c507 done  
Copying blob 23eeae7af0b5 done  
Copying blob 9de1d75e1b1a done  
Copying blob a6b6390252f6 done  
Copying blob 779d221aac49 done  
Copying blob 63e4505f687b done  
Copying blob 16f80580d867 done  
Copying blob 5d042c1b6ff4 done  
Copying blob c27257cc02d5 done  
Copying config c1ab951694 done  
Writing manifest to image destination
Storing signatures
STEP 2/5: COPY sources/configs/* /opt/metasfresh/
--> 56fe3ae483d
STEP 3/5: COPY sources/start_app.sh /opt/metasfresh/
--> c7142e08c4d
STEP 4/5: RUN chmod 700 /opt/metasfresh/start_app.sh
--> 066f6fbc3a3
STEP 5/5: ENTRYPOINT ["/opt/metasfresh/start_app.sh"]
COMMIT metasfresh-docker_app
--> f0841478802
Successfully tagged localhost/metasfresh-docker_app:latest
f08414788026e8b8212c1f463f64acdd603d2a131a8b8091bc67e713638f53cc
WARNING: Image for service app was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Building webapi
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
STEP 1/6: FROM metasfresh/metasfresh-webapi:5.173
✔ docker.io/metasfresh/metasfresh-webapi:5.173
Trying to pull docker.io/metasfresh/metasfresh-webapi:5.173...
Getting image source signatures
Copying blob 4f7743eb1092 skipped: already exists  
Copying blob da8ef40b9eca skipped: already exists  
Copying blob b51569e7c507 skipped: already exists  
Copying blob fb15d46c38dc skipped: already exists  
Copying blob 48c10d6ab0c5 skipped: already exists  
Copying blob 23eeae7af0b5 skipped: already exists  
Copying blob 58690f9b18fc skipped: already exists  
Copying blob 5bcad57c9877 done  
Copying blob 4aa95afdde7d done  
Copying blob a1242fd03d97 done  
Copying blob 9e4e7ec461b4 done  
Copying blob e4b08d73077c done  
Copying blob fb061205aa6d done  
Copying config b39b1bd0b2 done  
Writing manifest to image destination
Storing signatures
STEP 2/6: COPY sources/configs/* /opt/metasfresh-webui-api/
--> 503fd28eff8
STEP 3/6: COPY sources/start_webapi.sh /opt/metasfresh-webui-api/
--> c72d23cec15
STEP 4/6: RUN chmod 700 /opt/metasfresh-webui-api/start_webapi.sh
--> c20f2dfde29
STEP 5/6: ENTRYPOINT ["/opt/metasfresh-webui-api/start_webapi.sh"]
--> 1f1cab5fffe
STEP 6/6: EXPOSE 8080
COMMIT metasfresh-docker_webapi
--> bbbb0f8f3a1
Successfully tagged localhost/metasfresh-docker_webapi:latest
bbbb0f8f3a1e785728cef7117cba8cb7d2b1a9aa7acc9ac9366580cf957f0e44
WARNING: Image for service webapi was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Building webui
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
STEP 1/17: FROM metasfresh/metasfresh-webui:5.173
✔ docker.io/metasfresh/metasfresh-webui:5.173
Trying to pull docker.io/metasfresh/metasfresh-webui:5.173...
Getting image source signatures
Copying blob 4f7743eb1092 skipped: already exists  
Copying blob b51569e7c507 skipped: already exists  
Copying blob 48c10d6ab0c5 skipped: already exists  
Copying blob da8ef40b9eca skipped: already exists  
Copying blob fb15d46c38dc skipped: already exists  
Copying blob 58690f9b18fc skipped: already exists  
Copying blob a57cb4a46aa3 done  
Copying blob b8d2d33ece16 done  
Copying blob a41724d40020 done  
Copying blob 012e98aa29c9 done  
Copying blob b0f62e9f7634 done  
Copying blob fbc65c09bd96 done  
Copying blob 8167cdaa1faa done  
Copying blob 2b1a92f2d47b done  
Copying blob bb66b8ac3cfa done  
Copying blob 14972f1e5631 done  
Copying blob 22ab4db29516 done  
Copying blob 22ab4db29516 done  
Copying config 5b105a7ccf done  
Writing manifest to image destination
Storing signatures
STEP 2/17: COPY sources/configs/config.js /opt/metasfresh-webui-frontend/dist/
--> 457fafb5a3a
STEP 3/17: COPY sources/configs/mobile/config.js /opt/metasfresh-webui-frontend/dist/mobile/
--> 87c684bf8d1
STEP 4/17: COPY sources/configs/metasfresh_webui.conf /etc/apache2/sites-available/
--> 422e1d92d37
STEP 5/17: RUN mkdir -p /etc/apache2/certs/
--> 65dbf78fa6e
STEP 6/17: COPY sources/certs /etc/apache2/certs
--> 17ec1763c4b
STEP 7/17: RUN a2ensite metasfresh_webui.conf
Enabling site metasfresh_webui.
To activate the new configuration, you need to run:
  service apache2 reload
--> 7ddfdaf9320
STEP 8/17: RUN . /etc/apache2/envvars
--> 9f5524484a5
STEP 9/17: ENV APACHE_RUN_USER    www-data
--> eabfbd635a9
STEP 10/17: ENV APACHE_RUN_GROUP   www-data
--> 197fa7f3cb3
STEP 11/17: ENV APACHE_PID_FILE    /var/run/apache2.pid
--> c0eb72d4f77
STEP 12/17: ENV APACHE_RUN_DIR     /var/run/apache2
--> 3de85a0c34a
STEP 13/17: ENV APACHE_LOCK_DIR    /var/lock/apache2
--> 7a2f9849169
STEP 14/17: ENV APACHE_LOG_DIR     /var/log/apache2
--> a59225519f1
STEP 15/17: RUN chown www-data:www-data -R /opt/metasfresh-webui-frontend/
--> 0cfb340bc9d
STEP 16/17: EXPOSE 80 443
--> fd693af3148
STEP 17/17: ENTRYPOINT ["/start_webui.sh"]
COMMIT metasfresh-docker_webui
--> 29d5f536cc9
Successfully tagged localhost/metasfresh-docker_webui:latest
29d5f536cc9b642eb78a4415c78b4aa3a25ff5270a266b5c548c29c312bf4870
WARNING: Image for service webui was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating metasfresh-docker_rabbitmq_1 ... done
Creating metasfresh-docker_db_1       ... done
Creating metasfresh-docker_search_1   ... done
Creating metasfresh-docker_app_1      ... error

ERROR: for metasfresh-docker_app_1  Cannot create container for service app: bad parameter: Link is not supported

ERROR: for app  Cannot create container for service app: bad parameter: Link is not supported
ERROR: Encountered errors while bringing up the project.

Which are the steps to reproduce?

CentOS 8 Stream which uses podman and not docker

# podman version
Version:      3.4.1-dev
API Version:  3.4.1-dev
Go Version:   go1.16.7
Built:        Tue Oct 19 18:11:42 2021
OS/Arch:      linux/amd64

docker-compose 1.29.2

  1. clone repo
  2. edit WEBAPI_URL
  3. comment /etc/timezone line
  4. docker-compose up -d

What is the expected or desired behavior?

No error

idc77 commented 2 years ago

Seems like "link" was deprecated by docker for years, but is still supported because it would break older setups. But podman was being too smart again and dropped support for it. So instead of using podman I'll have to try to remove podman and install docker-ce.

https://docs.docker.com/network/links/

Man I hate this shit.

So what I wrote here replacing podman with docker-ce is a workaround. The FIX is to define networks and use those. And I don't use docker usually but when I played around with it, I stumbled upon the links issue and forgot about it since. You who actually use docker should be smarter and more up to date. But why upgrade to latest when the legacy stuff still works, right?

idc77 commented 2 years ago

Some info about docker-compose links to networks on SO https://stackoverflow.com/questions/42410545/docker-compose-network-link