Coder Social home page Coder Social logo

firebird-docker's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

firebird-docker's Issues

Firebird POST_EVENT problema with docker

Hello,

First I would like to thank you for the solution, the firebird container helped me a lot.

I searched about this bug and didn't find any solution. I have a problem with a POST_EVENT when my database is controlled by firebird in docker. The event is not fired and I have this return. I associated my host's port 3062 with the container's 3050

Debugger Exception Notification

Project Clients.exe raised exception class EIBNativeException with message '[FireDAC][Phys][FB]Unable to complete network request to host "MY_DNS".
Failed to establish a secondary connection for event processing.
No connections could be made because the target machine actively refused them. '.

If I try with a virtual machine with firebird installed normally, the event works.

Thanks for your attention

Usage doc is missing

When I run it I get:

ERROR: The container started but didn't run the expected command

How dow I override uidnumber and gidnumber of the firebird user?

I need to have the possibility to specify the uidnumber and gidnumber of the firebird user inside the container.

What I've tried so far is to move /etc/passwd and /etc/group from within the image outside, then change the uidnumer for firebird from 84 to 999 in /etc/passwd and the gidnumber from 84 to 999 in /etc/group.

Then I've mounted them via -v to their paths in the container

-v /some/path/passwd:/etc/passwd -v /some/path/group:/etc/group

But still when connecting to the running container via docker exec -ti mycontainername bash, and create a file, e.g. touch /tmp/bla the file gets user.group 84.84.

Asking the uidnumer, gidnumber via id firebird results in

uid=999(firebird) gid=999(firebird) groups=999(firebird)

I know this may be not per se related to the firebird docker image, but maybe somebody solved this alreads.

Thank you for helping
Kind regards

Error pulling the image

When I add this image to my docker-compose it returns an error

...
  firebirddb:
    image: jacobalberty/firebird-docker:2.5.8-sc 
    networks: 
      - mynetwork
    volumes:
      - ./firebird-data:.firebird-data
...
Pulling firebirddb (jacobalberty/firebird-docker:2.5-sc)...
ERROR: The image for the service you're trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.

is this docker repo is really removed ?

Firebird binaries are not on $PATH

Trying to running any firebird binary like gbak is frustrated by incomplete $PATH.

Since the binaries are inside /usr/local/firebird/bin, this path should be on $PATH?

Unable to connect from Python?

From host machine:

docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
af9b03a78fcd        jb/firebird:2.5     "/usr/local/firebird/"   5 hours ago         Up 5 hours          0.0.0.0:3050->3050/tcp   firebird

From Inside the Docker:

cd /usr/local/firebird/bin
./isql        
SQL> CONNECT "/databases/STAR.DB" user sysdba password masterkey;
Commit current transaction (y/n)?y
Committing.
Database:  "/databases/STAR.DB", User: sysdba

and the usual SQL statements work in terms of access to tables, data etc.

From a Python terminal:

import fdb
con = fdb.connect(host='127.0.0.1:3050', database='/databases/STAR.DB', 
                  user='sysdba', password='masterkey')

Results in error:

Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
  File "/home/derek/.venvs/firebird/local/lib/python2.7/site-packages/fdb/fbcore.py", line 728, in connect
    "Error while connecting to database:")
fdb.fbcore.DatabaseError: ('Error while connecting to database:\n- SQLCODE: -904\n- unavailable database', -904, 335544375)

I have tried host='localhost:3050', and also using my machine's IP address. I have also tried dropping the '/databases/' prefix from the database name; but always the same error.

EDIT

I also installed FlameRobin (http://www.flamerobin.org/) and was able to connect to the DB server but, again, not to the database (trying different paths), so I don't think this is a Python problem. I also tried changing ownership of the DB.

GSEC not working on CENTOS

Running firefird 2.1.7 on CENTOS7 I get this error, I cannot get to the bottom of it.

[root@ba77fbcca7b9 bin]# ./gsec
Unable to complete network request to host "ba77fbcca7b9".
Failed to locate host machine.
Undefined service dev/mapper/docker-253/tcp.
unable to open database

did somebody already encounter something similar? I cannot upgrade to 2.5, unfortunately.

Thanks
Stefano

2.5-ss Won't Start

I managed to get 3.0 and 2.5-sc to work (see examples here), but 2.5-ss won't start:

> docker run --name fb -d -e ISC_PASSWORD=nix -e FIREBIRD_DATABASE=test.db -p 3050:3050 jacobalberty/firebird:2.5-ss    
e1eaa8952f7fb3279a06d1bbe97c18b80c4ab1798cdcf3f663ab8348f15156f8

> docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

> docker logs fb
Use CONNECT or CREATE DATABASE to specify a database
Statement failed, SQLSTATE = 28000
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
Use CONNECT or CREATE DATABASE to specify a database

Something need to be changed with the entry point script, maybe?

When creating the firebird container can you create the tables from as postgresql ??

Hello, I would like to know if the isql command that I handle in windows also works when I use firebird with Docker, because I was looking inside the container with the 'docker exec -it firebird bash' command but the ./isql does not appear can you help me please
docker run --name firebird -p 3050: 3050 -e ISC_PASSWORD = masterkey -v $ (pwd) opt / dbp: / var / lib / firebird / data -d jacobalberty / firebird
I leave this information on how to create my container in case you need ....

Firebird 3.0.5 image can't set SYSDBA password

The image cannot set the SYSDBA password, neither with the randomized password, nor using ISC_PASSWORD (eg using the docker run --name firebird305 -p 3050:3050 -e ISC_PASSWORD=masterkey -e TZ=Europe/Amsterdam -e FIREBIRD_DATABASE=testdatabase.fdb -d jacobalberty/firebird:3.0.5), trying to connect will result in error "Install incomplete, please read the Compatibility chapter in the release notes for this version [SQLState:28000, ISC error code:335545029]"

The output of docker logs firebird305 shows:

Statement failed, SQLSTATE = 28000
Use of database at location /firebird/system/security3.fdb is not allowed by server configuration
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database

This seems to be a result of the changes introduced in commit 1bf7b95 to use the security database to create users. I'm not sure why this works fine for 3.0.4.

FIREBIRD_USER and FIREBIRD_PASSWORD environment variables

Both MySql and PostgreSQL images use (db)_USER and (db)_PASSWORD environment variables to create a new (super)user and to set that user's password.

Could we also add FIREBIRD_USER and FIREBIRD_PASSWORD likewise?

It could keep using SYSDBA and masterkey respectively as defaults, when the vars are not set.

[FEATURE REQUEST] FIREBIRD_ALIASES variable

Hi.

It would be nice to allow some variable for aliasing configuration, for example:

... -e FIREBIRD_ALIASES 'MYDB=/some/long/directory;MYOTHERDB=/some/other/long/directory' ...

this way, outside container, we could access the database using the aliases MYDB and MYOTHERDB instead of their path.

Maybe the official registerDatabase.sh (available at /usr/local/firebird/bin/) could help to implement this feature.

Thank you!

docker apt-get - unable to install packages

If i use the master (v3.0) Dockerfile to extend from, i cannot install git.

FROM jacobalberty/firebird:v3.0

RUN apt-get update && \
    apt-get install -y curl git;
[...]

Installation fails with last attempt to install or configure netbase.

Running hooks in /etc/ca-certificates/update.d....done.
Errors were encountered while processing:
 netbase
E: Sub-process /usr/bin/dpkg returned an error code (1)

Seems unrelated to the debian package used, as the following works

FROM debian:jessie

RUN apt-get update && \
    apt-get install -y curl git

git is required for some npm installations in our project

Limit of simultaneous connections

Is there a limit on simultaneous connections?
I can only connect one client at a time.

Example: if you are connected through ibexpert on one computer and I cannot connect on another computer.

sysdba issue in container

Hello Jacob,
I found issue when start container based on your image of firebird 3.x. When I add it to docker compose by:

firebird:
    image: jacobalberty/firebird:3.0.2
    container_name: firebird
    hostname: firebird
    volumes:
      - ./database:/databases
      - ./conf/firebird.conf:/firebird/etc/firebird.conf
    environment:
      - ISC_PASSWORD=masterkey

Config:

grep -v '^#' code/hb/docker_3/firebird/conf/firebird.conf | grep -v '^$' 
DatabaseAccess = Restrict /databases
WireCrypt = Enabled

And when container started I found in logs:

docker-compose logs firebird
Attaching to helsi_firebird
firebird_1 | Statement failed, SQLSTATE = 08001
firebird_1 | I/O error during "open" operation for file "employee"
firebird_1 | -Error while trying to open file
firebird_1 | -No such file or directory
firebird_1 | Use CONNECT or CREATE DATABASE to specify a database
firebird_1 | Use CONNECT or CREATE DATABASE to specify a database
firebird_1 | Use CONNECT or CREATE DATABASE to specify a database

Inside container impossible to restore database backup from /databases
I found place where it failed:

if [ ! -f "${VOLUME}/system/security3.fdb" ]; then
    cp "${PREFIX}/skel/security3.fdb" "${VOLUME}/system/security3.fdb"
    file_env 'ISC_PASSWORD'
    if [ -z ${ISC_PASSWORD} ]; then
       ISC_PASSWORD=$(createNewPassword)
       echo "setting 'SYSDBA' password to '${ISC_PASSWORD}'"
    fi
    ${PREFIX}/bin/isql -user sysdba employee <<EOL
create or alter user SYSDBA password '${ISC_PASSWORD}';
commit;
quit;
EOL

If I replace employee with "${VOLUME}/system/security3.fdb" everything ok.

root@firebird:/# ls -la "${VOLUME}/system/security3.fdb"
-rw-r----- 1 root root 1605632 Dec  6 13:14 /firebird/system/security3.fdb
root@firebird:/# ${PREFIX}/bin/isql -user sysdba employee
Statement failed, SQLSTATE = 08001
I/O error during "open" operation for file "employee"
-Error while trying to open file
-No such file or directory
Use CONNECT or CREATE DATABASE to specify a database
SQL> exit;
root@firebird:/# ${PREFIX}/bin/isql -user sysdba /firebird/system/security3.fdb <<EOL
create or alter user SYSDBA password 'masterkey';
commit;
quit;
EOL
root@firebird:/# 

Such strange behavior observed on 3 PC already and I'm trying not to update image. Could you please check this issue and fix it or propose workaround?

Thank you in advance.
Dmitriy

Too many volumes?

The current image has SIX volumes declared in Dockerfile.

Each new container instance creates 6 new volumes, most of them containing data which should not really persists between instances.

I actually use only one (the /databases one) so I got 5 unneeded (and unnamed) volumes in my docker volume ls results. And this for each Firebird instance I start. This is burdensome. 😟

Am I missing something? We really need to create volumes for all this? (/tmp?)

Since we always can declare new volumes for any file or folder inside the container, I propose to reduce the Dockerfile volumes to the bare minimum:

VOLUME ["/databases"]

This way, should the need arise, the user could declare extra volumes just for what he needs (e.g. secrets db or log files).

Volume mapping throws infinite restarting loop

Hi there!

As soon as I mount the /firebird/etc folder to the host, and start the compose, the container creates successfully, but it is in a restarting loop, and throws this error msg:

Statement failed, SQLSTATE = 08001
I/O error during "open" operation for file "security.db"
-Error while trying to open file
-No such file or directory
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database

Which is true, since when I mount the folder to the host, no config file will be placed in the /firebird/etc folder, that way the security.db database cannot be created.
If its allowed to mount this config folder to host, then why it is not working, or if its not allowed then why there are config files?
This is my docker-compose:


version: '3.3'
services:
    firebird-3:
        restart: unless-stopped
        container_name: fb3
        ports:
            - '3050:3050'
            - '30501:30501'
        volumes:
            - '/var/containersdata/firebird3/data/:/firebird/data/'
            - '/var/containersdata/firebird3/etc/:/firebird/etc/'
            - '/var/containersdata/firebird3/log/:/firebird/log/'
        environment:
            - TZ=Europe/Budapest
            - LANG=C.UTF-8
            - LC_ALL=C.UTF-8
            - ISC_PASSWORD=masterkey
        image: 'jacobalberty/firebird:3.0'


How to change/set the default firebird.conf file automatically.

Hi all,

For certain cases of my firebird container. We need some of them running in different port. This can be accomplished with changing the firebird.conf.

However. Even after I do a docker commit on the container instance where I have changed the firebird.conf, initializing a new container based on the new image commit still result in the same old, original version of firebird.conf. Is there any way that it can be changed? Personally, I think it is related to the docker-entrypoint.sh file.

Any help would be greatly appreciated!

Cheers,

HEALTHCHECK

I will be adding healthcheck support soon.

See: https://blog.newrelic.com/2016/08/24/docker-health-check-instruction/ for details on the docker side of things.

For the firebird specific implementation I will be adding a simple script to check things. The defaults will simply do the equivalent of nc -z 127.0.0.1 3050 but I will also likely support some way of specifying a username/password/database combination to allow more in depth server health monitoring.

How do I connect my database in flamerobin?

Hi guys, I want to know if anyone has tried to see their tables created in firebird.isql in FlameRobin is that adding the new server in flamerobin does not let me connect to the database from flameRobin ... Any solution?

Context: Database::Connect
Message: isc_attach_database failed
SQL Message : -902
Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements
Engine Code : 335544721
Engine Message :
Unable to complete network request to host "8a3d683391fc".
Failed to locate host machine.
The specified name was not found in the hosts file or Domain Name Services.

But when I SQL>CONNECT from firebird.isql I don't get an error ... I don't know what I should do to be able to use firebird in flamerobin.
Extra information. the server created in flamerobin has my hostname=8a3d683391fc and port =3050.

Unable to connect to docker container via JDBC

I'm trying to setup the docker container via docker compose then connect to the database via dbbeaver aka JDBC

The error im getting:

I/O error during "open" operation for file "/firebird/data/firebird.fdb"; Error while trying to open file; No such file or directory [SQLState:08001, ISC error code:335544344]
I/O error during "open" operation for file "/firebird/data/firebird.fdb"
I/O error during "open" operation for file "/firebird/data/firebird.fdb"
Error while trying to open file; No such file or directory

Within the docker container under /data there is a file firebird(which is the db file in this case).
I assumed that the database gets created by the FIREBIRD_DATABASE env var in the docker compose file.

docker-compose.yml

version: '3'

services:
  db:
    platform: linux/x86_64
    image: jacobalberty/firebird
    environment:
      ISC_PASSWORD: firebird
      FIREBIRD_DATABASE: firebird
      FIREBIRD_USER: firebird
      FIREBIRD_PASSWORD: firebird
    ports:
        - 3050:3050

My JDBC URL looks like this:
jdbc:firebirdsql://localhost:3050//firebird/data/firebird.fdb

Q: How to actually launch the database as daemon?

Hey there,

sorry to waste the issuelist like this but I'm kind of stuck; How do I start the database actually?
I'm able to launch the database in interactive mode and work my way through isql and be done with it. But at some point I'd love to run it as actual database.

I'm using the latest Dockerfile and I issue:
docker run -v /home/phil/Documents/studium/db/docker_mount/:/firebird jacobalberty/firebird
This allows me to mount the pre-existing database into the container.

But then I can not connect to the container.
Checking the network reveals nothing:

└[$] ss -atn | grep 3050
┌[1|phil:~/Documents/studium]
└[$] 

Tailing on firebird.log reveals:

880db2c33908	Sat Mar 24 08:23:07 2018
	setsockopt: error setting IPV6_V6ONLY to 0

So I'm not sure how to continue from here on. Any help is appreciated!

Help needed unraid docker

I'm trying to deploy firebird 3.0 on docker - unraid server.
Is there any information on how to install it in unraid?
Any help is apritiated

Problem running 2.5.7-ss

Hello Jacob,

When I try to run 2.5.7-ss with the command below, docker gives me an error.

docker run -it --name firebird \
   -e ISC_PASSWORD='!3ll0tec' \
   -v /tmp:/firebird/data \
   jacobalberty/firebird:2.5.7-ss

Error:

use gsec -? to get help
Unable to complete network request to host "localhost".
Failed to establish a connection.
unable to open database

Version 2.5.6-ss runs OK.

Armv7 build

Can we expect Armv7 support ? :)
Raspberry pi users would be grateful :)

Best regards!

Error Running Container - Tag 2.5-ss

When I start the container it fails instantly with the logged line: /usr/local/firebird/docker-entrypoint.sh: line 19: kill: (23187) - No such process

Jenkins pipeline: the container started but didn't run the expected command.

When I use the jacobalberty/firebird:3.0.6 image on my Jenkins server, I get an error

The command is:

$ docker run -t -d -u 1001:1001 --link a26ac42ec9c72169b7498c6186d72bfaa70751447b9a32882b02557247df7f68:db -w /home/jenkins/workspace/iubar-firebird-sidecar-hello  -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ********  jacobalberty/firebird:3.0.6 cat

(please note the "cat" command at the end, which is added by Jenkins)

The error is:

$ docker top ce3f07d8bd10e9dd94c3cf7fe86e5e31257398d41e45f2cf5ad2060050a3bd5e -eo pid,comm
ERROR: The container started but didn't run the expected command. Please double check your ENTRYPOINT does execute the command passed as docker run argument, as required by official docker images (see https://github.com/docker-library/official-images#consistency for entrypoint consistency requirements).
Alternatively you can force image entrypoint to be disabled by adding option `--entrypoint=''`.

If I exchange the jacobalberty/firebird:3.0.6 image with the mysql:5 image, I get no errors.

Any advice ?

Change Database Path

Hi, how can I change the database path? currently, it's set to /firebird/database, I would like to change this path, I have tried the env DBPATH, but din't work.
I'm using this command: docker run --name my-firebird -d -p 3050:3050 -e EnableLegacyClientAuth=true -e ISC_PASSWORD=masterkey -e FIREBIRD_DATABASE=DATABASE.fdb -e DBPATH="/my-path" jacobalberty/firebird:3.0

Support for legacy authentication

Firebird installer for Windows has a task called EnableLegacyClientAuth which makes the following changes in firebird.conf:

AuthServer = Legacy_Auth, Srp, Win_Sspi 
AuthClient = Legacy_Auth, Srp, Win_Sspi 
UserManager = Legacy_UserManager, Srp 
WireCrypt = enabled 

Could we add a similar environment variable to enable this?

P.S.: The installer code can be found here.

Minideb

Hi Jacob!

The nice guys @Bitnami made a very interesting image which they are using for all their Docker images. It is a very battle-tested solution.

You can read more about it here and here.

TL;DR:

The minideb image currently weighs in at around 50MB uncompressed. For comparison the debian library image is 123MB, the alpine image is 5MB, and the newly released amazonlinux image is 328MB.

While minideb is much larger than alpine it is a lot smaller than the standard debian image while retaining most of the compatibility.

Do you think this could be used instead of current debian:jessie image?

Please note that, contrary to what I suggested in #10, I'm not asking you to maintain a new image. I know alpine is stretching the limits and it is reasonable to keep a different fork (like many other projects do). But I believe this is not the case here.

Permissions issue for new database?

I am not sure where in the chain of events the cause is, but this is the problem.

From inside the container, running isql:

SQL> CONNECT "/databases/TEST.FDB";
Statement failed, SQLSTATE = 08001
I/O error during "open" operation for file "/databases/TEST.FDB"
-Error while trying to open file
-No such file or directory

From the command line:

# ls -al /databases/             
total 796
drwxrwxr-x  2 1024 1025   4096 Mar 15 12:04 .
drwxr-xr-x 35 root root   4096 Mar 15 11:58 ..
-rw-rw----  1 root root 802816 Mar 15 12:05 TEST.DB

This database was created via a Python script using the fdb module:

    sql = "create database '%s/%s:%s' user '%s' password '%s'" % (
        host_IP, port, database, user, password
    )
    con = fdb.create_database(sql)

The databases directory is mapped to the container in the usual way, via docker-compose:

    volumes:
        - /path/to/firebird/data:/databases/
        - /path/to/firebird/logs:/var/firebird/log

Run as non-root?

Hi

I'm not able to run images that require root access in my environment. Is there a way to run this as non-root?

Thanks

GDSExecption using jaybird 3

When I try to make a query from my java application using the jaybird 3x library, it returns the following error. I'm using firebird:2.5.6-sc on my Dockerfile.

error

My docker compose use a personal image that added extra directories to server.

image

Default password error

Hi there!

I get an error message when trying to connect to the Firebird 2.5 server. I’m trying to change the default password..
I’m not sure if I can make this clear, but I’ll try:

The error:
I set the password via “ISC_PASSWORD='masterkey'” environment in the run command. When I try to run the container, the password is not changed to the value I’ve set in the run command.

This is my container run command:

docker run -d --restart=always
--name FB2-Develop
-p 3052:3050
-p 33052:33052
-v /var/containersdata/firebird2/data/:/firebird/data/
-v /var/containersdata/firebird2/etc/:/firebird/etc/
-e TZ='Europe/Budapest'
-e ISC_PASSWORD='masterkey'
jacobalberty/firebird:2.5-sc

Error message:

“Your user name and password are not defined. Ask your database administrator to set up a Firebird login.”

Later, I found out that the default password is in use, not mine.
( “9yd3vRy0” from /usr/local/firebird/skel/etc/SYSDBA.password file )
SYSDBA.password file is not created.

Container logs:

Warning - maximum 8 significant bytes of password used
use gsec -? to get help
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
unable to open database

When I delete SYSDBA.password file, and run docker image:
Container logs:

root@develop:~# docker logs FB2-Develop
/usr/local/firebird/docker-entrypoint.sh: line 65: /firebird/etc/SYSDBA.password: No such file or directory
Warning - maximum 8 significant bytes of password used
use gsec -? to get help
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
unable to open database

Workaround

So before the first time (0.event) when I run the container, I have to copy the SYSDBA.password file from the skeleton directory in the firebird docker image, to the mapped directory (outside the docker) to make it work. After I start the container, it’s working fine, the file is changed to the new password which I’ve defined.
This method is not permanent, since if You guys update this docker image, I have to extract the SYSDBA.password file again.

In Container

> root@5d26cf9d2e54:/# cat /usr/local/firebird/skel/etc/SYSDBA.password
> # Firebird generated password for user SYSDBA is:
> 
> ISC_USER=sysdba
> ISC_PASSWD=se1wHxZY
> 
> # generated on afc972672d14 at time Tue Mar 27 22:48:09 UTC 2018
> 
> # Your password can be changed to a more suitable one using the
> # /usr/local/firebird/bin/gsec utility.
> 
> rm /firebird/etc/SYSDBA.password
> cp /usr/local/firebird/skel/etc/SYSDBA.password /firebird/etc/
> 
> root@01e90334b15b:/# ls -al /firebird/etc/
> total 300
> drwxrwxrwx 3 root root   4096 Jul 29 13:20 .
> drwxr-xr-x 6 root root   4096 Jul 29 13:18 ..
> -r--r--r-- 1 root root  26023 Jul  2 20:49 IDPLicense.txt
> -r--r--r-- 1 root root  24301 Jul  2 20:49 IPLicense.txt
> -rw-r--r-- 1 root root	687 Jul  2 20:49 README
> -r-------- 1 root root	258 Jul 29 13:20 SYSDBA.password
> -rw-r--r-- 1 root root 190594 Jul  2 20:49 WhatsNew
> -rw-r--r-- 1 root root	275 Jul  2 20:49 aliases.conf
> -rw-r--r-- 1 root root   5464 Jul  2 20:49 fbtrace.conf
> -rw-r--r-- 1 root root  26921 Jul  2 21:25 firebird.conf
> drwxrwxrwx 2 root root   4096 Jul 26 16:31 h
> 
> root@01e90334b15b:/# exit

On host

root@develop:~# docker stop FB2-Develop
FB2-Develop
root@develop:~# docker rm FB2-Develop
FB2-Develop

root@develop:~# ./fb2_run-container
79be48605908a77d6cf4533363adedeb33f72ffa611312e16e7ab7d09b0e2357

root@develop:~# cat /var/containersdata/firebird2/etc/SYSDBA.password
# Firebird generated password for user SYSDBA is:

ISC_USER=SYSDBA
ISC_PASSWD=masterkey
# Your password can be changed to a more suitable one using the
# /usr/local/firebird/bin/gsec utility.

# Set for interop with 3.0
ISC_PASSWORD=masterkey

root@develop:~# ls -al /var/containersdata/firebird2/etc/
total 300
drwxrwxrwx 3 root root   4096 Jul 29 13:20 .
drwxrwxrwx 4 root root   4096 Jun 13 15:39 ..
-rw-r--r-- 1 root root	275 Jul  2 20:49 aliases.conf
-rw-r--r-- 1 root root   5464 Jul  2 20:49 fbtrace.conf
-rw-r--r-- 1 root root  26921 Jul  2 21:25 firebird.conf
drwxrwxrwx 2 root root   4096 Jul 26 16:31 h
-r--r--r-- 1 root root  26023 Jul  2 20:49 IDPLicense.txt
-r--r--r-- 1 root root  24301 Jul  2 20:49 IPLicense.txt
-rw-r--r-- 1 root root	687 Jul  2 20:49 README
-r-------- 1 root root	243 Jul 29 13:27 SYSDBA.password
-rw-r--r-- 1 root root 190594 Jul  2 20:49 WhatsNew

Environment

Host (name is develop):

root@develop:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Docker version:

root@develop:~# docker version
Client:
 Version:       	18.09.7
 API version:   	1.39
 Go version:    	go1.10.8
 Git commit:    	2d0083d
 Built:         	Thu Jun 27 17:57:09 2019
 OS/Arch:       	linux/amd64
 Experimental:  	false

Server: Docker Engine - Community
 Engine:
  Version:      	18.09.7
  API version:  	1.39 (minimum version 1.12)
  Go version:   	go1.10.8
  Git commit:   	2d0083d
  Built:        	Thu Jun 27 17:23:02 2019
  OS/Arch:      	linux/amd64
  Experimental: 	false

Docker images:

root@develop:~# docker images
REPOSITORY          	TAG             	IMAGE ID        	CREATED         	SIZE
jacobalberty/firebird   latest          	c2dc89dc42e5    	2 weeks ago     	188MB
jacobalberty/firebird   2.5-sc          	923a50329d69    	3 weeks ago     	180MB
jacobalberty/firebird   <none>          	f8c7b499c85a    	2 months ago    	188MB
jacobalberty/firebird   <none>          	bdffcd794919    	16 months ago   	176MB


Running containers:

root@develop:~# docker ps
CONTAINER ID    	IMAGE                      	COMMAND              	CREATED         	STATUS                	PORTS                                          	NAMES
79be48605908    	jacobalberty/firebird:2.5-sc   "/usr/local/firebird…"   9 minutes ago   	Up 9 minutes (healthy)	0.0.0.0:33052->33052/tcp, 0.0.0.0:3052->3050/tcp   FB2-Develop
ac9eff70dd60    	jacobalberty/firebird:latest   "/usr/local/firebird…"   29 minutes ago  	Up 29 minutes (healthy)   0.0.0.0:33053->33053/tcp, 0.0.0.0:3053->3050/tcp   FB3-Develop
1c6e629dcd74    	jacobalberty/firebird:latest   "/usr/local/firebird…"   29 minutes ago  	Up 29 minutes (healthy)   0.0.0.0:3063->3050/tcp, 0.0.0.0:33063->33053/tcp   FB3-Testing

[I'm sorry my bad] firebird3.0-alpine

I had check on alpine docs, it shown docker apk add --no-cache --virtual NAME, but on your dockerfile was apk --no-cache --virtual=NAME.
I've tried build your docker but failed, it shown really weird.

fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
  procmail (missing):
    required by: build-dependencies-20201025.100002[procmail]
The command '/bin/sh -c chmod +x ./build.sh &&     sync &&     ./build.sh &&     rm -f ./build.sh' returned a non-zero code: 2

I've had changed with --virtual NAME but still didn't build.
May i know where my failure ?
Thank you a lot

Note : I'm used Arcolinux with docker version Docker version 19.03.13-ce, build 4484c46d9d

Unable to complete network request to host "localhost" from isql

Using the 2.5-ss image, I cannot query the database via isql as I'm getting an error saying that no networks requests to localhost can be made.

I'm starting a container via:

docker run -it -e "ISC_PASSWORD=masterkey" -e "FIREBIRD_DATABASE=test.gdb" -e "FIREBIRD_USER=test" -p 3050:3050  -v /tmp:/firebird/data --name firebird --rm jacobalberty/firebird:2.5-ss bash

Output is:

Warning - maximum 8 significant bytes of password used
setting 'test' password to 'f6a26ebc667b433f2bc6'
Use CONNECT or CREATE DATABASE to specify a database

Then I'm running:

cd /usr/local/firebird/bin
./isql ${DBPATH}/test.gdb -u test -p f6a26ebc667b433f2bc6

Which yields:

Statement failed, SQLSTATE = 08006
Unable to complete network request to host "localhost".
-Failed to establish a connection.
Use CONNECT or CREATE DATABASE to specify a database

I tested the same sequence of executions with 2.5.7-ss and 2.5.6-ss. While the error also exists in2.5.7-ss, in 2.5.6-ss everything works fine. (Note that in the latter the interactive shell has to be started separately.)

Error when trying to connect

I get the following error when trying to connect using docker image jacobalberty/firebird:3.0.4

Install incomplete, please read the Compatibility chapter in the release notes for this version

Any idea how to check what the issue might be?

Firebird database commands to connect

How can I get into the Firebird database command line to show databases and run commands similar to SQL. I have tried multiple commands with no luck. Thank you in advance.

Support for DLite

I'm using Docker with DLite in macOSX. When I wanna use mounted databases - outside the Docker FS, it mouted as Volume with NFS, the database cannot connect or can be created with ISQL.

I've run this and it able to operate:

sed -i 's/#RemoteFileOpenAbility = 0/RemoteFileOpenAbility = 1/g' /var/firebird/etc/firebird.conf 

Alpine image?

It would be possible to build an image based on alpine?

I know it can bring some problems. MySql won't do it. PostgreSQL did it.

BTW: Thanks for the good work! 👍

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.