, mariadb (, , docker-entrypoint.sh, mysql), . , , :)
.sql, "docker-entrypoint-initdb.d", , docker-compose.yml (Linux), (Windows 7),
( .sql CREATE TABLE...), .
:
- EOL .sql CRLF LF;
- chmod "docker-entrypoint-initdb.d" ( );
- "docker exec" ( , , );
- *.sh "docker-entrypoint-initdb.d" ( , .sql);
. :
$ docker logs someappname_db >& logs_db.txt
, docker-entrypoint.sh Linux, @anteverse:
for f in /docker-entrypoint-initdb.d/*; do
case "$f" in
*.sh) echo "$0: running $f"; . "$f" ;;
*.sql) echo "$0: running $f"; "${mysql[@]}" < "$f"; echo ;;
*.sql.gz) echo "$0: running $f"; gunzip -c "$f" | "${mysql[@]}"; echo ;;
*) echo "$0: ignoring $f" ;;
esac
echo
done
"docker exec", :
Linux:
root@deda78e393f9:/
total 72
drwxr-xr-x 2 root root 4096 Mar 19 19:53 bin
drwxr-xr-x 2 root root 4096 Nov 19 16:32 boot
drwxr-xr-x 5 root root 340 Apr 29 15:53 dev
**drwxrwxrwx+ 2 root root 4096 Apr 29 11:30 docker-entrypoint-initdb.d**
lrwxrwxrwx 1 root root 34 Mar 14 06:26 docker-entrypoint.sh -> usr/local/bin/docker-entrypoint.sh
...
Windows 7:
root@a3ff19060712:/
total 64
drwxr-xr-x 2 root root 4096 Feb 17 09:07 bin
drwxr-xr-x 2 root root 4096 Nov 19 16:32 boot
drwxr-xr-x 5 root root 340 Apr 29 16:04 dev
**drwxrwxrwx 1 1000 staff 0 Apr 28 18:13 docker-entrypoint-initdb.d**
lrwxrwxrwx 1 root root 34 Feb 17 09:08 docker-entrypoint.sh -> usr/local/bin/docker-entrypoint.sh
...
UID: GID? 1000: Linux?
Linux 'admin', , root ( ): admin ( ) thingy?
: Windows 7, Docker 18.02.0-CE
: Linux (QNAP TS-253A), Docker 17.07.0-CE
[/share/Container/]
4.2.8 GNU/Linux
[/share/Container/]
Welcome to TS-253A, QNAP Systems, Inc.
[/share/Container/]
NAME="QTS"
VERSION="4.3.4 (20180215)"
ID=qts
PRETTY_NAME="QTS 4.3.4 (20180215)"
VERSION_ID="4.3.4"
-compose.yml
version: '3'
services:
db:
container_name: someappname_db
image: mariadb:latest
restart: on-failure:3
environment:
- MYSQL_DATABASE=someappname
- MYSQL_ROOT_PASSWORD=someappname
- MYSQL_USER=someappname
- MYSQL_PASSWORD=someappname
- MYSQL_ROOT_HOST=%
- TZ=Europe/Stockholm
ports:
- 3306:3306
volumes:
- dbdata:/var/lib/mysql
- /share/Container/someappname/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d:ro
networks:
- net
command: ["mysqld", "--user=mysql", "--lower_case_table_names=1"]
volumes:
dbdata:
networks:
net:
:
:
$ cd /share/Containers/someappname
$ docker stop $(docker ps -a -q --filter="name=someappname") && docker rm $(docker ps -a -q --filter="name=someappname") && docker volume rm someappname_dbdata
$ docker-compose -f someappnameprod-docker-compose.yml up -d db
!