ამ სტატიაში განვიხილავთ, თუ როგორ დავაყენოთ Docker კონტეინერში MySQL 8 სერვერი და ვნახავთ, როგორ დავაკავშიროთ იგი phpMyAdmin-თან docker-compose-ში, რომელიც დავაყენეთ სტატიაში "როგორ დავაყენოთ phpMyAdmin Docker-ში".
როგორ დავაყენოთ 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 - პორტი 3311, რომელსაც გამოვიყენებთ mysql-თან დასაკავშირებლად;
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 მონაცემთა ბაზის ვერსია. როგორ გავაკეთოთ ეს, შეგიძლიათ გაეცნოთ ამ სტატიაში.
ასევე გთავაზობთ სხვა სასარგებლო სტატიების განხილვას:
- როგორ დავაყენოთ phpMyAdmin Docker-ში
- როგორ დავაყენოთ Redis Docker-ში და Docker Compose-ში
- როგორ გადავიტანოთ მონაცემები ჰოსტიდან Docker-ში და Docker-დან ჰოსტზე