MariaDB를 시작하고 센토스 기반 도커 이미지를 계속 실행하는 방법.
저는 mariadb를 설치하고, mariadb를 시작하고, mariadb를 계속 실행할 도커 파일(base os는 Centos여야 함)을 만들려고 합니다.컨테이너 igitlab을 사용하여 통합 테스트(Java)를 실행할 수 있습니다.이것이 지금까지 제가 가지고 있는 것입니다.
FROM centos:7
ENV container docker
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
# Install epel and java
RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel wget
ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk/
EXPOSE 8080
EXPOSE 3306
# install mariadb
RUN yum -y install mariadb
RUN yum -y install mariadb-server
RUN systemctl start mariadb
ENTRYPOINT tail -f /dev/null
D-Bus 연결에 실패했습니다.라는 오류가 표시됩니다.작업이 허용되지 않습니다.
다음과 같은 작업을 수행할 수 있습니다.
FROM centos/mariadb-102-centos7
USER root
# Install epel and java
RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel wget
ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk/
코드 폴더를 이 컨테이너에 마운트하고 도커 exec을 사용하여 실행할 수 있습니다.
그러나 두 개의 서로 다른 컨테이너를 사용하는 것이 좋습니다. 하나는 DB용이고 다른 하나는 코드용입니다.그런 다음 코드 컨테이너를 전달하여 db 컨테이너에 연결하는 데 필요한 변수를 전달할 수 있습니다.
systemd를 포함한 컨테이너에서 기본적으로 실행되는 것이 없으므로 systemd를 사용하여 mariadb를 시작할 수 없습니다.
만약 우리가 공식 mariadb 도커 파일을 참조한다면, 우리는 당신이 mariadb를 추가함으로써 시작할 수 있다는 것을 찾을 수 있습니다.CMD ["mysqld"]
우리 도커 파일로.
당신은 또한 당신의 컨테이너에 mariadb를 설치해야 합니다.RUN yum -y mariadb-server mariadb-client
기본적으로 설치되지 않기 때문에
언급URL : https://stackoverflow.com/questions/59274314/how-to-start-mariadb-and-keep-it-running-centos-based-docker-image
'programing' 카테고리의 다른 글
반복실험 없이 난수 시퀀스 만들기 (0) | 2023.08.10 |
---|---|
요소에 동일한 폭을 제공하지 않는 Flexbox (0) | 2023.08.10 |
재할당을 사용하여 할당된 메모리 축소 (0) | 2023.08.10 |
도커의 이미지를 삭제하려면 어떻게 해야 합니까? (0) | 2023.08.10 |
아이폰에서 빈 영역을 터치했을 때 키보드를 숨기는 방법 (0) | 2023.08.10 |