Бұл мақалада біз Docker контейнерінде MySQL 8 серверін қалай орнату керектігін қарастырамыз және оны phpMyAdmin-ге docker-compose арқылы қалай қосуға болатынын көреміз, оны біз "Docker-де phpMyAdmin-ді қалай орнату керек" мақаласында орнатқан болатынбыз.
Docker-ді қалай орнату керек
apt update
Қажетті пакеттерді орнатамыз және жаңа репозиторий қосамыз:
apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Жаңа репозиториймен пакеттерді жаңартамыз:
apt update
Docker-ді орнатамыз.
apt-get install docker-ce docker-ce-cli containerd.io
Docker нұсқасын тексереміз:
docker --version
Статусты қараймыз:
systemctl status docker
Егер ол іске қосылмаса, іске қосамыз:
systemctl start docker
Және автожүктеуге қосамыз.
systemctl enable docker
curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
docker-compose файлына орындалу құқықтарын орнатамыз.
chmod +x /usr/local/bin/docker-compose
Docker-Compose орнатылғанын тексереміз:
docker-compose --version
Көріп отырғанымыздай, бәрі дұрыс. Docker-Compose файлын жасауға көшеміз.
Болашақта қайда және не орнатылғанын білу үшін, /home каталогында осы жобаға арналған бөлек папка жасаймыз және оған көшеміз.
mkdir /home/mysql && cd /home/mysql
Бұл нұсқаулықта біз MySQL 8-дің нақты нұсқасын орнатамыз. Ол үшін hub.docker.com репозиторийін қолданамыз.
docker-compose.yaml файлын жасау үшін https://hub.docker.com/_/mysql сілтемесіндегі репозиторийді қолданамыз.
docker-compose.yaml немесе docker-compose.yml файлын жасаймыз:
vim docker-compose.yaml
Және оған келесі кодты қосамыз:
version: '3.1' services: db_mysql: container_name: db_mysql image: mysql ports: - "3311:3306" restart: always environment: MYSQL_USER: admin MYSQL_PASSWORD: rNZzq5U37DqJlNe MYSQL_ROOT_PASSWORD: 4kDGQDYe4JxDjRd volumes: - /var/lib/mysqld:/var/lib/mysql
Мұнда:
db_mysql: Сіздің контейнеріңіздің атауы;
image: mysql: mysql 8 орнатылатын образ;
ports: 3311:3306 - mysql-ге қосылу үшін қолданылатын 3311 порты;
restart:always - контейнер сервердің қайта жүктелуі немесе ақау кезінде қайта іске қосылады;
mysql_USER: жаңа пайдаланушыны жасау, бұл жағдайда admin;
mysql_PASSWORD: admin пайдаланушысының паролі;
mysql_ROOT_PASSWORD: бұл пароль mysql суперпайдаланушысының root есептік жазбасына орнатылады;
volumes бөлімінде контейнер қайта іске қосылғанда дерекқор деректері сақталуы үшін жалпы директорияны көрсетеміз.
Скриптымызды іске қосамыз (бұл үшін біздің файл жасалған каталогта болуымыз керек. Бұл жағдайда /home/mysql):
docker-compose up -d
Образдардың жүктелуін және орнатылуын күтеміз.
Тексереміз:
docker-compose ps
немесе
docker ps
Логтарды қалай көруге болады
docker logs -f db_mysql
Сондай-ақ, mysql 8 дерекқорын phpMyAdmin-пен бірге орнатып, оған байланыстыруға болады. Мұны қалай жасау керектігін қарастырайық.
Жасалған docker-compose.yaml файлын өңдейміз
vim docker-compose.yaml
Төменде келесі құрылымды қосамыз:
version: '3.1' services: db_mysql: container_name: db_mysql image: mysql ports: - "3311:3306" restart: always environment: MYSQL_USER: admin MYSQL_PASSWORD: rNZzq5U37DqJlNe MYSQL_ROOT_PASSWORD: 4kDGQDYe4JxDjRd volumes: - /var/lib/mysqld:/var/lib/mysql phpmyadmin: container_name: phpmyadmin image: phpmyadmin restart: always ports: - "8091:80" environment: - PMA_HOST=db_mysql depends_on: - db_mysql
phpmyadmin секторында біз phpmyadmin образын қостық, оған 8091 портын көрсеттік, бірақ енді ол нақты дерекқор серверіне байланысты болады, атап айтқанда біз орнатқан/орнатқан mysql 8
Бұл параметр enviroment блогында көрсетілген, мұнда:
PMA_HOST=db_mysql - бұл файлда жоғарыда сипатталған mysql контейнеріне/блогына сілтеме жасайды.
Сондай-ақ, depends_on директивасы db_mysql контейнерінің іске қосылуына тәуелділікті көрсетеді. Бұл mysql контейнері іске қосылмайынша, phpmyadmin контейнері іске қосылмайды дегенді білдіреді.
phpmyadmin және mysql-ді бір командамен іске қосуға болады.
docker-compose up -d
Тексереміз:
docker-compose ps
Көріп отырғанымыздай, контейнерлер іске қосылды.
Осылайша, сізге қажетті MariaDB дерекқорының нұсқасын орнатуға болады. Мұны қалай жасау керектігін осы мақалада оқи аласыз.
Сондай-ақ, басқа пайдалы мақалаларды қарауды ұсынамыз:
- Docker-де phpMyAdmin-ді қалай орнату керек
- Docker және Docker Compose-де Redis-ті қалай орнату керек
- Хосттан Docker-ге және Docker-ден хостқа деректерді қалай көшіру керек