私はubuntu trustyとMariaDB 5.5でドッカーイメージを作成していますが、実際に実行中のVMに接続しない限り、MariaDBを開始することはできません。MariaDBはドッカーイメージ内で決して起動しません
Dockerfile:
FROM ubuntu:trusty
# Upgrade packages
RUN apt-get update && apt-get upgrade -y
# So we can add a repo to apt
RUN apt-get install -y software-properties-common
# Add MariaDB repo to aptitude
RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
RUN add-apt-repository 'deb http://mirror.jmu.edu/pub/mariadb/repo/5.5/ubuntu trusty main'
RUN apt-get update
# Install MariaDB
RUN DEBIAN_FRONTEND=noninteractive debconf-set-selections << 'mariadb-server-5.5 mysql-server/root_password password PASS'
RUN DEBIAN_FRONTEND=noninteractive debconf-set-selections << 'mariadb-server-5.5 mysql-server/root_password_again password PASS'
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y mariadb-server
# Start MariaDB
RUN service mysql start
# Configure MariaDB User permissions
RUN echo "CREATE USER 'ubuntu'@'localhost'" | mysql -u root
私が作成するために実行しているコマンド:
docker build -t ebth-com-trusty --file `pwd`/Dockerfile `pwd` --no-cache
作成するコマンドは、常に原因に失敗します:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
しかし、私はコメントアウトした場合CREATE USERコマンドを実行してからVMに接続すると、マニュアルを実行した後もMariaDBに接続できますservice mysql start
。
あたかもRUN service mysql start
が機能しないかのように、これ以上デバッグする方法がわかりません。
ない 'RUNサービスMySQLのstart'、多分CMDまたはENTRYPOINT代わり – user2915097
を、画像を構築し、起動すると、実行中のコンテナに入り、/var/run/mysqld/mysqld.sockにあるソケットファイルが存在することを確認できます – Ray