공식 mysql docker 이미지 사용

공식 mysql docker 이미지 사용

Docker 컨테이너에 mysql 5.7을 설치하려고 하면 다음 오류가 발생합니다. 저는 도커와 컨테이너를 처음 사용합니다.

Step 16/23 : RUN apt-get install mysql-server-5.7
  ---> Running in 9624e9df68e7
 Reading package lists...
 Building dependency tree...
 Reading state information...
 Package mysql-server-5.7 is not available, but is referred to by another package.
 This may mean that the package is missing, has been obsoleted, or
 is only available from another source
 However the following packages replace it:
   mariadb-server-10.3
 E: Package 'mysql-server-5.7' has no installation candidate
 Service 'web' failed to build: The command '/bin/sh -c apt-get install mysql-server-5.7' returned a non-zero code: 100
 ERROR: Job failed: exit status 1

내 도커 파일:

FROM ubuntu:latest
RUN DEBIAN_FRONTEND=noninteractive
RUN apt-get upgrade
RUN apt-get update
RUN apt-get install -y wget 
RUN wget http://archive.ubuntu.com/ubuntu/pool/main/m/mysql-5.7/mysql-server-5.7_5.7.21-1ubuntu1_amd64.deb
RUN apt-get install -y nodejs
RUN apt-get install -y npm
RUN apt-get install -y prometheus

RUN apt-get install -y openjdk-8-jdk
RUN wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
RUN sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list' 
RUN apt-get update 
RUN apt-get install -y elasticsearch
RUN apt-get install -y mongodb
RUN apt-get install mysql-server-5.7
RUN mkdir -p -v /data/db
WORKDIR /home/ubuntu/Github-MICROSERVICE/
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 6001
CMD chown -R mysql:mysql /var/lib/mysql \
&& service mysql start \
&& mysql -ppassword -e "CREATE DATABASE IF NOT EXISTS ted;GRANT ALL PRIVILEGES on ted.* TO 'root'@'localhost' WITH GRANT OPTION; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';FLUSH PRIVILEGES;SET GLOBAL connect_timeout=28800;SET GLOBAL sql_mode='NO_ENGINE_SUBSTITUTION';" \
&& service prometheus start \
&& service mongodb start\
&& npm start

답변1

새 버전의 Ubuntu에 이전 버전의 Mysql을 설치하려고 합니다.

FROM ubuntu:latest

현재(2020년 8월) ubuntu:latest이미지 태그는 의 동의어입니다 ubuntu:20.04. 이는 Ubuntu의 새 버전마다 변경됩니다. Mysql 5.7이 포함된 마지막 Ubuntu 버전은 Ubuntu 18.04였습니다. 이봐https://packages.ubuntu.com/bionic/mysql-server-5.7.

여러 가지 옵션이 있습니다:

공식 mysql docker 이미지 사용

자신의 이미지를 전혀 스크롤할 필요가 없을 수도 있습니다. 귀하의 질문에서 명확하지 않습니다. mysql:5.7따라서 도커 이미지 mysql:latest(8.0.21) 를 사용하여 컨테이너를 실행할 수도 있습니다 .

최신 버전의 mysql을 사용하세요

dockerfile을 다음과 같이 변경하세요.

apt-get install mysql-server

최신 Ubuntu 버전에 대한 최신 Mysql 버전이 설치됩니다.

이전 버전의 우분투 사용

도커 파일을 다음으로 변경하십시오.

FROM ubuntu:1804

관련 정보