Development āˇāˇāļŠ āļŊāˇāˇāˇ āļāļģāļāļąāˇāļą Docker use āļāļģāļ¸āˇ
āļ āļ´āˇ developing āļāļģāļą āļāˇāļŊāˇāļŊ⎠āļāˇāļŊāˇāļŊāˇāļąāˇāļ§ āļāˇāļēāˇāļą common āļ´āˇâāļģāˇāˇāļą āļāļ¸āļē⎠develop āļāļģāļą laptop āļāˇāˇāļ¸ format āļāļģāˇāļ§ āļ´āˇāˇāˇāˇ āļāļēāˇāļ¸āļ⎠development environment āļāļ setup āļāļģāļāļąāˇāļą āļāļ. PHP install āļāļģāļŊ⎠MYSQL install āļāļģāļŊ⎠āļ⎠āļāļāˇāļąāˇ Redis/RabbitMQ āˇāļ⎠āļāļ āļāļą āˇāˇāļąāˇāˇ āļąāļ¸āˇ āļ¯āˇāˇāˇ āļļāˇāļāļēāļ⎠āˇāˇāļāļģ āļēāļąāˇāˇ āļāļāˇāļāˇāļ¸ install āļāļģāļŊ⎠setup āļāļģāļŊ⎠āļāˇāļģ āļāļģāļāļąāˇāļą.
āļāļ§ āļ´āˇāˇāˇāˇ āļ´āļģāļĢ āˇāˇāļŠ āļāļģāļ´āˇ project āļāˇāˇāļ¸ clone āļāļģāļŊ⎠āˇāˇāļŠāˇ āļāļģāļąāˇāļą āļēāļąāļāˇāļ§ āˇāˇāļŠ āļāļģāļąāˇāļąāˇ āļąāˇ. āļ⎠āļ¯āˇāˇāˇ āļāļāˇāˇāļ¸āˇāļģāļ⎠āˇāˇāļāļģ āˇāˇāļēāļŊ⎠āˇāˇāļēāļŊ⎠āļļāļŊāļąāļāˇāļ§ āļāļ¸āļē⎠āļāˇāļģāˇāļąāˇāļąāˇ PHP 7.0, MySQL 5.7 āļāļą āļāļāļ§ āļ āļŊāˇāļāˇāļąāˇ install āļāļģāļ¯āˇāļ¯āˇ āļāļģāļŊ⎠āļāˇāļēāˇāļąāˇāļąāˇ PHP 7.3, MySQL 8.0. āļāļ§āļ´āˇāˇāˇāˇ āļāļ āˇāļ¯āˇāļāˇāļą āļāˇāˇāļ¸ āļāļąāļāˇāļ§ āļ⎠āļ¯āˇāˇāˇ āļļāˇāļāļēāļ⎠āˇāˇāļāļģ āˇāˇāļāļģ āļāˇāˇāˇāļąāˇ.
āˇāˇ āļ⎠āļ⎠āļ´āˇâāļģāˇāˇāļą āļāˇāļēāˇāļąāˇāˇ. āļāļēāˇāļ§ āļāļą āļāļąāˇāļ⎠PHP version āļ¯āˇāļ āļāˇāļąāļ⎠manage āļāļģāļąāˇāļą. MYSQL version āļ¯āˇāļ āļāˇāļąāļ⎠manage āļāļģāļąāˇāļą. Mongodb version āļ¯āˇāļ āļāˇāļąāļ⎠manage āļāļģāļāļąāˇāļą āˇāļ⎠āˇāļģāˇāļ¸ āļāļģāļ¯āļģāļēāˇ.
āļ¸āļ¸ āļąāļ¸āˇ āļ¯āˇāļąāˇ āļāˇāļŊāˇāļ āļāļ¯āļąāˇ āļ¸āˇ āˇāļ⎠āˇāˇāļ¸ āļāļāļāļāļ§ use āļāļģāļąāˇāļąāˇ Docker. Docker āļāˇāļą āļ¯āļąāˇāļąāˇ āļąāˇāļāˇāļąāļ¸āˇ comment āļāļāļ⎠āļ¯āˇāļąāˇāļą āļ¸āļ¸ āļ āļāˇāļą āˇāˇāļąāļ¸ āļāˇāļēāļŊ⎠āļ¯āˇāļąāˇāļąāļ¸āˇ. āļ āļąāˇāļāļ⎠āļāˇāļŠāļ⎠online resources āļāˇāļēāˇāļąāˇāˇ docker basics āļāļāˇāļą āļāļąāˇāļą.
āļ¸āļ¸ āļ āļŊāˇāļāˇāļąāˇ development environment āļāļ setup āļāļģāļąāˇāˇ āļąāļ¸āˇ (format āļāļģāˇāļ§ āļ´āˇāˇāˇāˇ āˇāļāˇ) āļ¸āˇāļŊāˇāļąāˇāļ¸ install āļāļģāļąāˇāļąāˇ git āļāļ§ āļ´āˇāˇāˇāˇ docker and docker-compose.
āļ¸āļ⎠āˇāˇāļ¸ project āļāļāļāļ¸ docker-compose āˇāļēāˇāļŊ⎠āļāļāļ⎠āļāˇāļēāˇāļąāˇāˇ. āļ¸āļ¸ āļ¸āˇāļ⎠āļ¯āˇāļąāˇāļąāˇ project āļāļ run āļāļģāļąāˇāļą āļāļą services. PHP, MYSQL, RABBITMQ, REDDIS āˇāļāˇ.
āļ¸āˇāļąāˇāļą āļ¸āˇ āˇāļāˇ. php-73 āļāˇāļēāļąāˇāļąāˇ āļ¸āļ⎠custom image āļāļāļāˇ. āļ¸āˇāļāļ¯ laravel āˇāļ⎠āļāˇāˇāļ§ āˇāˇāˇāˇāļąāˇāļą extentions āļāˇāļ¸ āļāļąāˇ. āļāļ āļąāˇāˇāˇ laravel āˇāļŊāļ§ āļāļą āļāˇāˇ install āļāļģāļ´āˇ image āļāļāļ⎠āļāˇāļēāˇāļāˇāļą āļāļąāˇāļąāˇ.
āļ¯āˇāļąāˇ āļ¸āˇāļ⎠āˇāˇāļ§āˇāļēāļ§ āļāˇāˇāˇāļ¸āļ¯ mysql, reddis āˇāļŊāļ§ connect āˇāˇāļąāˇāļąāˇ ?
app āļāļ connect āˇāˇāļąāˇāļąāˇ āˇāˇāˇāˇāļ§āˇ āļāļ āļāļ¸āļē⎠mysql, port eka 3306. āļ āļāˇāļēāļąāˇāļąāˇ āˇāˇāˇāˇāļ§āˇ āļāļ⎠localhost āˇāˇāļąāˇāˇāļ§ mysql āļāˇāļēāļŊ⎠āļ¯āˇāļąāˇāļą. āļāļēāˇāļ⎠web app āļāļ localhost:9001 āˇāļŊāˇāļąāˇ access āļāļģāļąāˇāļą āļ´āˇāˇ āˇāˇāļąāˇ. āļāļēāˇāļ§ mysql db āļāļ āļļāļŊāļąāˇāļą āļāļąāˇ āļąāļ¸āˇ work bench āļāļāˇāļąāˇ localhost 3333 port āļāļāˇāļąāˇ āļļāļŊāļąāˇāļą āļ´āˇāˇ āˇāˇāļąāˇ.
āļāļāļāˇāļ§ composer install āˇāļ⎠āļāļģāļąāˇāļąāˇ āļāˇāˇāˇāļ¸āļ¯ ?
āļāļāļ§ docker app container āļāļāļ§ exec āˇāˇāļąāˇāļą āļāļąāˇ. docker exec -it CONTIANER_ID /bin/bash āļāˇāļēāļŊ⎠āļ¯āˇāļąāˇāļąāļ¸ āļāļēāˇāļ§ docker container āļāļāļ§ access āˇāļ¸āˇāļļāˇāļąāˇāˇ. āļāļ§ āļ´āˇāˇāˇāˇ composer install āˇāļ⎠āļāˇāˇ āļāļģāļąāˇāļą āļ´āˇāˇ āˇāˇāļąāˇ.
āļ¸āˇ project āļāļ⎠āˇāˇāļŠ āļāļģāļŊ⎠āļāˇāļģ āļāļąāˇāļ¸ docker-compose stop āļāˇāļēāļą command āļāļ run āļāļģāˇāļ¸ āļāļēāˇāļ⎠āļāļāˇāļāˇāļ¸ services āļ§āˇāļ āļąāˇāļāˇāļąāˇāˇ. āļāļēāˇāļ¸āļ⎠āļ¸āˇ project āļāļ⎠āˇāˇāļŠ āļ´āļ§āļąāˇ āļāļąāˇāļąāļāˇāļ§ start āļāļģāļāļąāˇāļą āļāˇāļēāˇāļąāˇāļąāˇ.
āˇāˇāļ¯āļāļāˇāļ¸ āļ¯āˇ āļāļ¸āļē⎠āļāļēāˇāļ§ āļ¸āˇ project āļāļ āˇāˇāļą āļāˇāļ§ āˇāļģ⎠āļēāˇāļąāˇāļą āļāļąāˇ āļāļąāˇāļ⎠āļāˇāļŊāˇāļąāˇāļ¸ āļēāˇāļąāˇāļą āļ´āˇāˇ āˇāˇāļąāˇ āļ¸āˇāļāļ¯ āļ āļāˇāļąāˇāļ§āļ⎠āļāļēāˇāļ⎠php version install āļāļģ āļāļģ āļāļąāˇāļą āļāļąāˇ āļąāˇ. docker-compose āļāļ run āļāļģāļ´āˇ āļāļ¸āļąāˇ āļāļāˇāļāˇāļ¸ āˇāˇāļŠ.
It works on my machine āļāˇāļēāļŊ⎠āļāˇāļēāļąāˇāļą āļāļą āˇāˇāļąāˇāļąāˇ āļąāˇ
āļāˇāˇāļąāļ¸āˇ āļ āļ¯āļ§ āļāˇāļēāˇ.
āļ⎠āļ¯āˇāˇāļāˇāļąāˇ āļ¸āˇ āˇāļāˇāļ¸ post āļāļāļ⎠āļ āļģāļāˇāļą āļāļąāˇāļąāļ¸āˇ. āļāļēāˇāļŊāļ§ āļāļą āļ¯āˇāˇāļŊ⎠comment āļāļģāļąāˇāļą. āļ āļ¯āˇāˇāļ⎠āļ¯āˇāļāˇāļąāļ¸ āļēāļąāˇāļą.
āļ āļ´āˇ developing āļāļģāļą āļāˇāļŊāˇāļŊ⎠āļāˇāļŊāˇāļŊāˇāļąāˇāļ§ āļāˇāļēāˇāļą common āļ´āˇâāļģāˇāˇāļą āļāļ¸āļē⎠develop āļāļģāļą laptop āļāˇāˇāļ¸ format āļāļģāˇāļ§ āļ´āˇāˇāˇāˇ āļāļēāˇāļ¸āļ⎠development environment āļāļ setup āļāļģāļāļąāˇāļą āļāļ. PHP install āļāļģāļŊ⎠MYSQL install āļāļģāļŊ⎠āļ⎠āļāļāˇāļąāˇ Redis/RabbitMQ āˇāļ⎠āļāļ āļāļą āˇāˇāļąāˇāˇ āļąāļ¸āˇ āļ¯āˇāˇāˇ āļļāˇāļāļēāļ⎠āˇāˇāļāļģ āļēāļąāˇāˇ āļāļāˇāļāˇāļ¸ install āļāļģāļŊ⎠setup āļāļģāļŊ⎠āļāˇāļģ āļāļģāļāļąāˇāļą.
āļāļ§ āļ´āˇāˇāˇāˇ āļ´āļģāļĢ āˇāˇāļŠ āļāļģāļ´āˇ project āļāˇāˇāļ¸ clone āļāļģāļŊ⎠āˇāˇāļŠāˇ āļāļģāļąāˇāļą āļēāļąāļāˇāļ§ āˇāˇāļŠ āļāļģāļąāˇāļąāˇ āļąāˇ. āļ⎠āļ¯āˇāˇāˇ āļāļāˇāˇāļ¸āˇāļģāļ⎠āˇāˇāļāļģ āˇāˇāļēāļŊ⎠āˇāˇāļēāļŊ⎠āļļāļŊāļąāļāˇāļ§ āļāļ¸āļē⎠āļāˇāļģāˇāļąāˇāļąāˇ PHP 7.0, MySQL 5.7 āļāļą āļāļāļ§ āļ āļŊāˇāļāˇāļąāˇ install āļāļģāļ¯āˇāļ¯āˇ āļāļģāļŊ⎠āļāˇāļēāˇāļąāˇāļąāˇ PHP 7.3, MySQL 8.0. āļāļ§āļ´āˇāˇāˇāˇ āļāļ āˇāļ¯āˇāļāˇāļą āļāˇāˇāļ¸ āļāļąāļāˇāļ§ āļ⎠āļ¯āˇāˇāˇ āļļāˇāļāļēāļ⎠āˇāˇāļāļģ āˇāˇāļāļģ āļāˇāˇāˇāļąāˇ.
āˇāˇ āļ⎠āļ⎠āļ´āˇâāļģāˇāˇāļą āļāˇāļēāˇāļąāˇāˇ. āļāļēāˇāļ§ āļāļą āļāļąāˇāļ⎠PHP version āļ¯āˇāļ āļāˇāļąāļ⎠manage āļāļģāļąāˇāļą. MYSQL version āļ¯āˇāļ āļāˇāļąāļ⎠manage āļāļģāļąāˇāļą. Mongodb version āļ¯āˇāļ āļāˇāļąāļ⎠manage āļāļģāļāļąāˇāļą āˇāļ⎠āˇāļģāˇāļ¸ āļāļģāļ¯āļģāļēāˇ.
āļ¸āļ¸ āļąāļ¸āˇ āļ¯āˇāļąāˇ āļāˇāļŊāˇāļ āļāļ¯āļąāˇ āļ¸āˇ āˇāļ⎠āˇāˇāļ¸ āļāļāļāļāļ§ use āļāļģāļąāˇāļąāˇ Docker. Docker āļāˇāļą āļ¯āļąāˇāļąāˇ āļąāˇāļāˇāļąāļ¸āˇ comment āļāļāļ⎠āļ¯āˇāļąāˇāļą āļ¸āļ¸ āļ āļāˇāļą āˇāˇāļąāļ¸ āļāˇāļēāļŊ⎠āļ¯āˇāļąāˇāļąāļ¸āˇ. āļ āļąāˇāļāļ⎠āļāˇāļŠāļ⎠online resources āļāˇāļēāˇāļąāˇāˇ docker basics āļāļāˇāļą āļāļąāˇāļą.
āļ¸āļ¸ āļ āļŊāˇāļāˇāļąāˇ development environment āļāļ setup āļāļģāļąāˇāˇ āļąāļ¸āˇ (format āļāļģāˇāļ§ āļ´āˇāˇāˇāˇ āˇāļāˇ) āļ¸āˇāļŊāˇāļąāˇāļ¸ install āļāļģāļąāˇāļąāˇ git āļāļ§ āļ´āˇāˇāˇāˇ docker and docker-compose.
āļ¸āļ⎠āˇāˇāļ¸ project āļāļāļāļ¸ docker-compose āˇāļēāˇāļŊ⎠āļāļāļ⎠āļāˇāļēāˇāļąāˇāˇ. āļ¸āļ¸ āļ¸āˇāļ⎠āļ¯āˇāļąāˇāļąāˇ project āļāļ run āļāļģāļąāˇāļą āļāļą services. PHP, MYSQL, RABBITMQ, REDDIS āˇāļāˇ.
YAML:
version: "3.9"
services:
app:
image: php-73
ports:
- "9001:80"
volumes:
- ${PWD}:/app
redis:
image: redis
ports:
- "9002:6379"
mysql:
image: mysql
ports:
- "3333:3306"
āļ¸āˇāļąāˇāļą āļ¸āˇ āˇāļāˇ. php-73 āļāˇāļēāļąāˇāļąāˇ āļ¸āļ⎠custom image āļāļāļāˇ. āļ¸āˇāļāļ¯ laravel āˇāļ⎠āļāˇāˇāļ§ āˇāˇāˇāˇāļąāˇāļą extentions āļāˇāļ¸ āļāļąāˇ. āļāļ āļąāˇāˇāˇ laravel āˇāļŊāļ§ āļāļą āļāˇāˇ install āļāļģāļ´āˇ image āļāļāļ⎠āļāˇāļēāˇāļāˇāļą āļāļąāˇāļąāˇ.
āļ¯āˇāļąāˇ āļ¸āˇāļ⎠āˇāˇāļ§āˇāļēāļ§ āļāˇāˇāˇāļ¸āļ¯ mysql, reddis āˇāļŊāļ§ connect āˇāˇāļąāˇāļąāˇ ?
app āļāļ connect āˇāˇāļąāˇāļąāˇ āˇāˇāˇāˇāļ§āˇ āļāļ āļāļ¸āļē⎠mysql, port eka 3306. āļ āļāˇāļēāļąāˇāļąāˇ āˇāˇāˇāˇāļ§āˇ āļāļ⎠localhost āˇāˇāļąāˇāˇāļ§ mysql āļāˇāļēāļŊ⎠āļ¯āˇāļąāˇāļą. āļāļēāˇāļ⎠web app āļāļ localhost:9001 āˇāļŊāˇāļąāˇ access āļāļģāļąāˇāļą āļ´āˇāˇ āˇāˇāļąāˇ. āļāļēāˇāļ§ mysql db āļāļ āļļāļŊāļąāˇāļą āļāļąāˇ āļąāļ¸āˇ work bench āļāļāˇāļąāˇ localhost 3333 port āļāļāˇāļąāˇ āļļāļŊāļąāˇāļą āļ´āˇāˇ āˇāˇāļąāˇ.
āļāļāļāˇāļ§ composer install āˇāļ⎠āļāļģāļąāˇāļąāˇ āļāˇāˇāˇāļ¸āļ¯ ?
āļāļāļ§ docker app container āļāļāļ§ exec āˇāˇāļąāˇāļą āļāļąāˇ. docker exec -it CONTIANER_ID /bin/bash āļāˇāļēāļŊ⎠āļ¯āˇāļąāˇāļąāļ¸ āļāļēāˇāļ§ docker container āļāļāļ§ access āˇāļ¸āˇāļļāˇāļąāˇāˇ. āļāļ§ āļ´āˇāˇāˇāˇ composer install āˇāļ⎠āļāˇāˇ āļāļģāļąāˇāļą āļ´āˇāˇ āˇāˇāļąāˇ.
āļ¸āˇ project āļāļ⎠āˇāˇāļŠ āļāļģāļŊ⎠āļāˇāļģ āļāļąāˇāļ¸ docker-compose stop āļāˇāļēāļą command āļāļ run āļāļģāˇāļ¸ āļāļēāˇāļ⎠āļāļāˇāļāˇāļ¸ services āļ§āˇāļ āļąāˇāļāˇāļąāˇāˇ. āļāļēāˇāļ¸āļ⎠āļ¸āˇ project āļāļ⎠āˇāˇāļŠ āļ´āļ§āļąāˇ āļāļąāˇāļąāļāˇāļ§ start āļāļģāļāļąāˇāļą āļāˇāļēāˇāļąāˇāļąāˇ.
āˇāˇāļ¯āļāļāˇāļ¸ āļ¯āˇ āļāļ¸āļē⎠āļāļēāˇāļ§ āļ¸āˇ project āļāļ āˇāˇāļą āļāˇāļ§ āˇāļģ⎠āļēāˇāļąāˇāļą āļāļąāˇ āļāļąāˇāļ⎠āļāˇāļŊāˇāļąāˇāļ¸ āļēāˇāļąāˇāļą āļ´āˇāˇ āˇāˇāļąāˇ āļ¸āˇāļāļ¯ āļ āļāˇāļąāˇāļ§āļ⎠āļāļēāˇāļ⎠php version install āļāļģ āļāļģ āļāļąāˇāļą āļāļąāˇ āļąāˇ. docker-compose āļāļ run āļāļģāļ´āˇ āļāļ¸āļąāˇ āļāļāˇāļāˇāļ¸ āˇāˇāļŠ.
It works on my machine āļāˇāļēāļŊ⎠āļāˇāļēāļąāˇāļą āļāļą āˇāˇāļąāˇāļąāˇ āļąāˇ
āļāˇāˇāļąāļ¸āˇ āļ āļ¯āļ§ āļāˇāļēāˇ.
āļ⎠āļ¯āˇāˇāļāˇāļąāˇ āļ¸āˇ āˇāļāˇāļ¸ post āļāļāļ⎠āļ āļģāļāˇāļą āļāļąāˇāļąāļ¸āˇ. āļāļēāˇāļŊāļ§ āļāļą āļ¯āˇāˇāļŊ⎠comment āļāļģāļąāˇāļą. āļ āļ¯āˇāˇāļ⎠āļ¯āˇāļāˇāļąāļ¸ āļēāļąāˇāļą.





