0

Upon exectuion of ./acore.sh docker client-data when using document: https://www.azerothcore.org/wiki/install-with-docker

First installation step...

Possibly Permissions in the container? Bad package at build maybe?

core@localhost: ~/azerothcore-wotlk
> ./acore.sh docker client-data
NOTICE: file </var/home/core/azerothcore-wotlk/conf/config.sh> has not been found, you should create and configure it.
Deno version check:
Version 1.9.1 is already installed
>>>>> Running: docker-compose run --rm ac-build bash acore.sh client-data
Creating volume "azerothcore-wotlk_ac-database" with default driver
Creating volume "azerothcore-wotlk_ac-bin" with default driver
Creating volume "azerothcore-wotlk_ac-build-dev" with default driver
Creating volume "azerothcore-wotlk_ac-build" with default driver
Creating volume "azerothcore-wotlk_ac-ccache-dev" with default driver
Creating volume "azerothcore-wotlk_ac-ccache" with default driver
Creating volume "azerothcore-wotlk_ac-proj" with default driver
Creating volume "azerothcore-wotlk_ac-conf" with default driver
Creating volume "azerothcore-wotlk_ac-etc" with default driver
Creating volume "azerothcore-wotlk_ac-logs" with default driver
Creating volume "azerothcore-wotlk_ac-client-data" with default driver
Creating volume "azerothcore-wotlk_ac-client-data-prod" with default driver
Building ac-build
[+] Building 2.4s (14/28)
 => [internal] load build definition from Dockerfile                                                          0.0s
 => => transferring dockerfile: 97B                                                                           0.0s
 => [internal] load .dockerignore                                                                             0.0s
 => => transferring context: 94B                                                                              0.0s
 => resolve image config for docker.io/docker/dockerfile:1.2                                                  0.5s
 => CACHED docker-image://docker.io/docker/dockerfile:1.2@sha256:e2a8561e419ab1ba6b2fe6cbdf49fd92b95912df1cf  0.0s
 => [internal] load metadata for docker.io/library/ubuntu:20.04                                               0.2s
 => importing cache manifest from acore/ac-wotlk-authserver:master                                            0.0s
 => importing cache manifest from acore/ac-wotlk-authserver-local:master                                      0.6s
 => importing cache manifest from acore/ac-wotlk-tools:master                                                 0.6s
 => importing cache manifest from acore/ac-wotlk-worldserver-local:master                                     0.6s
 => importing cache manifest from acore/ac-wotlk-dev-server:master                                            0.6s
 => importing cache manifest from acore/ac-wotlk-worldserver:master                                           0.0s
 => CANCELED [internal] load build context                                                                    0.7s
 => => transferring context: 159.62MB                                                                         0.7s
 => CACHED [base  1/16] FROM docker.io/library/ubuntu:20.04@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da96  0.0s
 => ERROR [base  2/16] RUN apt-get update && apt-get install -y gdb gdbserver git dos2unix lsb-core sudo cur  0.7s
------
 > [base  2/16] RUN apt-get update && apt-get install -y gdb gdbserver git dos2unix lsb-core sudo curl unzip   make cmake clang libmysqlclient-dev   libboost-system1.7*-dev libboost-filesystem1.7*-dev libboost-program-options1.7*-dev libboost-iostreams1.7*-dev   build-essential libtool cmake-data openssl libgoogle-perftools-dev google-perftools   libssl-dev libmysql++-dev libreadline6-dev zlib1g-dev libbz2-dev mysql-client   libncurses5-dev ccache   && rm -rf /var/lib/apt/lists/*:
#12 0.238 Reading package lists...
#12 0.245 E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
------
executor failed running [/bin/sh -c apt-get update && apt-get install -y gdb gdbserver git dos2unix lsb-core sudo curl unzip   make cmake clang libmysqlclient-dev   libboost-system1.7*-dev libboost-filesystem1.7*-dev libboost-program-options1.7*-dev libboost-iostreams1.7*-dev   build-essential libtool cmake-data openssl libgoogle-perftools-dev google-perftools   libssl-dev libmysql++-dev libreadline6-dev zlib1g-dev libbz2-dev mysql-client   libncurses5-dev ccache   && rm -rf /var/lib/apt/lists/*]: exit code: 100
ERROR: Service 'ac-build' failed to build : Build failed
error: Uncaught (in promise) Error: Failed with error: 1, however,
            it's not related to this Deno script directly. An error occurred within
            the script called by the command itself
          throw new Error(`Failed with error: ${status.code}, however,
                ^
    at Command.<anonymous> (file:///var/home/core/azerothcore-wotlk/apps/docker/docker-cmd.ts:290:17)
    at async Promise.all (index 0)
    at async file:///var/home/core/azerothcore-wotlk/apps/docker/docker-cmd.ts:240:5

By skipping the use of the acore.sh wrapper I was able to get this to move forward but continue seeing bash: acore.sh: Permission denied

Instead of ./acore.sh docker client-data I use: docker-compose run --rm ac-build bash acore.sh client-data and that seems to work.

Current reproducable state, I get this same error for Client data pull and intial build

Creating azerothcore-wotlk_ac-build_run  ... done
bash: acore.sh: Permission denied
ERROR: 126

Full example...

# docker-compose run --rm ac-build bash acore.sh client-data
Successfully built 04031456c854
Successfully tagged acore/ac-wotlk-dev-server:master
WARNING: Image for service ac-build was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating azerothcore-wotlk_ac-database_1 ... done
Creating azerothcore-wotlk_ac-build_run  ... done
bash: acore.sh: Permission denied
ERROR: 126
redvapor
  • 11
  • 4
  • This isn't the full build log. The last lines of the error message just say that there was some kind of error. You need to rerun the build with full logging turned on: https://stackoverflow.com/questions/55756372/when-using-buildkit-with-docker-how-do-i-see-the-output-of-run-commands Or turn off buildkit, that works too. – Nick ODell Dec 13 '21 at 20:01

1 Answers1

0

My host OS here is Fedora Coreos. Which has some security surrounding docker/host interactions. I had to add privileged flags to all applications with in the docker-compose that had any possibility of interacting with, here is a small snippet of one of the critical ones...

  ac-build:
    <<: *ac-shared-conf
    extends: ${DOCKER_EXTENDS_BIND:-abstract-bind}
    image: acore/ac-wotlk-dev-server:${DOCKER_IMAGE_TAG:-master}
    privileged: true

privileged: true was placed under almost all apps in the docker-compose.yaml.

I also steered away from changing the DB password and found that using a user other than acore is probematic in the .env file.

Honorable mention for the possibility that the acore.sh requires root or sudo acore.sh

redvapor
  • 11
  • 4