No CKAN_SQLALCHEMY_URL specified when installing CKAN on Docker - docker

I'm following the instructions to install CKAN using Docker from http://docs.ckan.org/en/ckan-2.5.7/maintaining/installing/install-using-docker.html
However, after running ckan/ckan it will start for a second and stop immediately. After checking the container log I can see following error:
Distribution already installed:
ckan 2.8.0a0 from /usr/lib/ckan/venv/src/ckan
Creating /etc/ckan/ckan.ini
Now you should edit the config files
/etc/ckan/ckan.ini
ERROR: no CKAN_SQLALCHEMY_URL specified in docker-compose.yml
I have tried googling this and noticed people are having issues with installing CKAN using Docker but not this exact error.

I've just run into the same error. My solution was to use a previous commit as it seems the support for docker in the current / recent version it's broken. Ensure you remove all the docker containers and images first, then in the CKAN directory, checkout a working commit:
git checkout 7506353
...ensure all the reminant docker components are gone:
docker container prune
docker image prune
docker network prune
docker volume prune
And before you run the docker-compose build command, from your CKAN installation, open the following file:
ckan/migration/versions/000_add_existing_tables.py
..on line 8 (https://github.com/ckan/ckan/blob/master/ckan/migration/versions/001_add_existing_tables.py) add schema='public' as shown below:
meta = MetaData(schema='public')

Related

"docker: 'compose' is not a docker command" when running docker compose

After installing the latest version of Docker Desktop on my M1 Mac pro, I can't seem to run docker compose despite having all the correct files installed.
I've tried running docker-compose and docker compose in my terminal and I get this message: docker: 'compose' is not a docker command.
After running docker --version, I'm currently on Docker version 20.10.21, build baeda1f
Compose is correctly added to my PATH vars under /usr/local/bin/, which has the following files:
com.docker.cli docker-credential-desktop fuzzy_match kubectl.docker
docker docker-credential-ecr-login httpclient vpnkit
docker-compose docker-credential-osxkeychain hub-tool xcodeproj
docker-compose-v1 docker-index kubectl
When I run which docker-compose, it returns /usr/local/bin/docker-compose so it seems like everything is configured correctly.
Also running docker-compose-v1 does seem to work for some weird reason.
Any ideas?
Edit: Seems like this was fixed after installing the newest version of Docker (Docker Desktop 4.14.1 (91661), Docker version 20.10.21, build baeda1f).
Install Rosetta 2 with softwareupdate --install-rosetta, then uncheck Use Docker Compose V2 in Docker Dashboard -> Settings -> General.

Getting error while running local docker registry

I am getting while running local docker registry on centos system. I am explaining the error below.
docker: Error response from daemon: lstat /var/lib/docker/overlay2/3202584ed599bad99c7896e0363ac9bb80a0385910844ce13e9c5e8849494d07: no such file or directory.
I am setting of the local registry like below.
vi /etc/docker/daemon.json:
{ "insecure-registries":["ip:5000"] }
I have the registry image installed my system and I am running using the below command.
docker run -dit -p 5000:5000 --name registry bundle/tools:registry_3.0.0-521
I have cleaned all volume as per some suggestion from google but still same issue. Can anybody help me to resolve this error.
The error is not related to the registry and is happening in the client side because of local caching (or some other docker-related issue) in your system.
I've seen this error a lot in the docker community and the most suggested approach to solve this error is to clean up the whole /var/lib/docker directory.
On your local client system, if you don't care about your current containers, images, and caches, try stopping the docker daemon, removing the whole /var/lib/docker directory, and starting it again:
Note that sometimes it gets fixed by only restarting the daemon, so it worths trying it first:
sudo service docker restart
If a simple restart can't solve the problem, go ahead and destroy it:
sudo service docker stop
sudo rm -rf /var/lib/docker
sudo service docker start
(I'm not sure about if these systemd commands will work on your CentOS too)

Is there a difference in docker-compose up --build vs. docker-compose build && docker-compose up

We were trying to build and run docker-compose project on remote host. I tried using:
docker-compose -H 'ssh://remote_address' up --build
And got
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
So we tried:
docker-compose -H 'ssh://remote_address' build
docker-compose -H 'ssh://remote_address' up
Which worked fine. My problem is I can't find evidence in docs for this to be correct behaviour. Is this a bug in docker-compose, a feature, or a bug in my environment?
I'm not sure of the error you got for the first command, I mean docker-compose -H 'ssh://ip' up --build as it may be really a but, but the three mentioned commands have surely differences. I'll try to explain in my simple way:
First command is docker-compose up --build.
This command finds docker-compose file and rebuilds the image then make it running. Suppose you have made some changes into your docker-compose file, so when you only run docker-compose, you'll get a warning that image is not rebuilt, you should run docker-compose up --build to rebuild it and make everything be built again (despite something done before and present in cache).
Second command is docker-compose build.
This command only builds your image based on docker-compose, but does not run it. You can see the built image by docker image ls or docker images. Also executing docker ps -a should not see your recent built image running.
Third and the last command is docker-compose up.
If this command is entered for the first time, it tries to run everything in Dockerfile if exists and download base image, etc. Then makes the image and runs the container.
If the image has been built before, it just runs it.
Unlike the first command, the third one only runs the latest build of that image, but would not build it again.

Build C++ project against docker container not image

I just started learning Docker and trying to build a C++ project for Windows on Ubuntu.
For that I use this project which almost works, but I have linking error, particularly it fails to link against libssh.
I run the build of my project using this command:
sudo docker run -v $PWD:/project/source -v $PWD/build_docker:/project/build my_qt_cross_win:qttools
where my_qt_cross_win:qttools is the image that I built by git cloning original repo and added some missing libraries.
Since building it takes 2 hours, because it builds the whole system, and I just need to fix this minor linking issue, I would like to just add the proper libssh.a to the container that was instanced from my_qt_cross_win:qttools image and build my project using that modified container. But it feels like I can use only images for that, because docker complains
Unable to find image 'musing_chebyshev:latest' locally
when I try to use container name or id instead of an image.
$ sudo docker container ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d207fd2d9dd8 my_qt_cross_win:qttools "/bin/sh -c 'qmake /…" 11 minutes ago Exited (2) 10 minutes ago musing_chebyshev
Is there any way I can use a modified container to build my project?
I simply needed to copy the missing file to the existing container:
sudo docker cp -a d207fd2d9dd8:/usr/lib/x86_64-linux-gnu/libssh.a .
And then commit the changes to the container to create a new image:
sudo docker commit d207fd2d9dd8 my_qt_cross_win/libssh_static
Then the new image appeared:
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
my_qt_cross_win/libssh_static latest 9f7af733526b 21 hours ago 3.43GB
Though it did not solve my original issue, this was the answer I expected to get to reuse my existing container for build. Thanks to #AlanBirtles for the link.

Can't create a remote interpreter with Docker-compose

Hello guys i need your help!
I can't configure the remote docker-compose interpreter in PyCharm, I keep getting the following error:
and the corresponding log entry:
2020-08-09 02:45:55,299 [6304130] WARN -
ckaging.InstalledPackagesPanel - The following command was executed:
C:\Program Files\JetBrains\PyCharm 2020.1.3\bin\runnerw64.exe
C:\Users\Angel\Downloads\docker-compose-Windows-x86_64.exe -f
D:\Archiv\Projects\PycharmProjects\django_with_db\docker-compose.yml
-f C:\Users\Angel\AppData\Local\JetBrains\PyCharm2020.2\tmp\docker-compose.override.241.yml
run --rm --no-deps web
The exit code: 1
The error output of the command:
Couldn't find docker binary. You might need to install Docker:
https://docs.docker.com/engine/installation/windows/
docker-compose finished with exit code 1
In my case, PyCharm is installed on Windows 10, and Docker and Docker-compose are on a separate server running CentOS and I use the following settings:
Docker:
Interpreter:
At the same time, Docker as a remote interpreter works fine, the problem only concerns the docker-compose.
I don't know if this matter or not, but I want to point out, that since Docker is not installed on a windows host, when I first tried to create a remote interpreter using docker-compose, PyCharm showed a message – can’t find the docker-compose executable. To overcome this, I downloaded the executable for my platform from the official Docker repository and manually specify the path to it:
Whether this is the right solution I don't know, but it's works
I am using the following software versions:
Windows 10 build 19041
PyCharm Professional 2020.2
CentOS Linux release 8.2.2004
Docker version 19.03.12, build 48a66213fe
docker-compose version 1.26.2, build eefe0d31

Resources