У меня проблема с докером и mysql. Я создал образ на основе phusion/baseimage. Я хочу создать образ, в котором каталог /var/lib/mysql используется совместно с моим хостом (OS X), потому что я не хочу хранить свои данные в контейнере.
Все работает нормально, когда каталог /var/lib/mysql не является общим. Когда я делюсь этим каталогом, служба mysql не может запуститься. В логах есть информация о проблемах с разрешениями при запуске.
Результат ls -la из /var/lib:
[...]
drwxr-xr-x 1 lc staff 170 Jan 3 16:55 mysql
[...]
Пользователь mysql должен быть владельцем. Я пытался сделать:
sudo chown -R mysql:mysql mysql/
Но эта команда не вернула никакой ошибки и не сменила владельца.
Я также попытался добавить своего пользователя (из контейнера) в группу mysql:
lc@cbe25ac0681e:~$ groups lc
lc : lc sudo mysql
Но это тоже не сработало. Кто-нибудь знает, как решить эту проблему?
Мой файл docker-compose.yml:
server:
image: lukasz619/light-core_server
ports:
- "40080:80"
- "40022:22"
- "40443:443"
- "43306:3306"
volumes:
- /Users/lukasz/Workspace/database/mysql:/var/lib/mysql
Это мой Dockerfile:
FROM phusion/baseimage
RUN apt-get update
RUN apt-get install -y apache2
# Enable SSH
RUN rm -f /etc/service/sshd/down
RUN /etc/my_init.d/00_regen_ssh_host_keys.sh
# public key for root
ADD public_key.pub /tmp/public_key.pub
RUN cat /tmp/public_key.pub >> /root/.ssh/authorized_keys && rm -f /tmp/public_key.pub
EXPOSE 80
CMD ["/sbin/my_init"]
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*