在創建Docker鏡像時,我想添加一個數據庫和導入架構。當我嘗試時,我得到了下面的錯誤。Mariadb的Dockerfile圖像
160829 22時32分44秒mysqld_safe的記錄到 '/var/lib/mysql/2da0903ff372.err'。 160829 22:32:44 mysqld_safe 從/ var/lib/mysql數據庫啓動mysqld守護進程160829 22:32:47 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ende d ERROR 2002(HY000) :無法通過 socket'/ var/run /mysqld/mysqld.sock'(2「No such file or directory」)連接到本地MySQL服務器 命令'/ bin/sh -c/bin/bash -c 「在/ usr /斌/ mysqld_safe的&」 & &睡眠 & mysq升-u根-e 「CREATE DATABASE門戶」 & &的MySQL -u根 門戶< /tmp/ddl.sql & & MYS QL -u根門戶< /tmp/dml.sql」返回 非零碼:1
下面就是我用來創建圖像的Dockerfile。
FROM mariadb:latest
# Author
MAINTAINER Anvar
# Add files
ADD my.cnf /etc/mysql/my.cnf
ADD ddl.sql /tmp/ddl.sql
ADD dml.sql /tmp/dml.sql
RUN /bin/bash -c "/usr/bin/mysqld_safe &" && sleep 5 && mysql -u root -CREATE DATABASE portal" && mysql -u root portal < /tmp/ddl.sql`
請指教我在哪裏做錯了?
當你有一個小的樣子在MariaDB的圖像的入口點腳本https://github.com/docker-library/mariadb/blob/d969a465ee48fe10f4b532276f7337ddaaf3fc36/10.1/docker-entrypoint.sh。你可以看到,在第一次啓動數據庫被初始化。您的任務運行得很早,容器中不存在可運行的數據庫服務器。 –
非常感謝您的回覆Rene M.實際上,我的要求是創建一個包含預填充數據庫模式和數據的docker映像。有沒有辦法實現它? –
將入口點擴展至您的需求 –