티스토리 뷰
web_apps.tar
0.01MB
todo.tar
0.01MB

▶ todo 테이블
[vagrant@docker1 mysql]$ cat todo.sql
USE todo;
CREATE TABLE tasks (
id int not null auto_increment,
task varchar(255),
primary key(id)
);
● docker-entrypoint-initdb.d 에 들어가면 db 가 만들어진다
[vagrant@docker1 mysql]$ cat Dockerfile
FROM mysql:5.7
ENV MYSQL_ROOT_PASSWORD=mypass MYSQL_DATABASE=todo
ADD ./todo.sql /docker-entrypoint-initdb.d/
EXPOSE 3306
◎ docker-entrypoint.sh 라는 셀 스크립트가 있다
>> 셀 스크립트에서 docker-entrypoint-initdb 검색
[vagrant@docker1 mysql]$ docker exec -it mydb /bin/bash
bash-4.2# find / -name docker-entrypoint.sh
/usr/local/bin/docker-entrypoint.sh
# 참조되어 todo.sql 이 들어가면서 테이블이 생성되는건가...;;
bash-4.2# grep -A 10 "docker-entrypoint" /usr/local/bin/docker-entrypoint.sh
ls /docker-entrypoint-initdb.d/ > /dev/null
docker_init_database_dir "$@"
mysql_note "Starting temporary server"
docker_temp_server_start "$@"
mysql_note "Temporary server started."
mysql_socket_fix
docker_setup_db
docker_process_init_files /docker-entrypoint-initdb.d/*
mysql_expire_root_user
mysql_note "Stopping temporary server"
docker_temp_server_stop
mysql_note "Temporary server stopped"
echo
mysql_note "MySQL init process done. Ready for start up."
echo
>> 컨테이너가 올라가면 docker-entrypoint.sh 라는 셀 스크립트가 실행되어있다
[vagrant@docker1 web_apps]$ docker ps --no-trunc
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
96b898f6b5fc604bac161cd18a15eb813870a9db62ac879953beb5d0a23d6e56 web_apps-php "httpd -D FOREGROUND" 8 minutes ago Up 8 minutes 0.0.0.0:8000->80/tcp, :::8000->80/tcp myphp
5687a970fc7247e7f38e4b336fbb189350130365baaaeb00897091603ba5279f web_apps-db "docker-entrypoint.sh mysqld" 8 minutes ago Up 8 minutes 3306/tcp, 33060/tcp mydb
bfa511e22584c76285254e7946d0ead677b32bb37fc816394554f8bb675e3ebe mysql:5.7 "docker-entrypoint.sh mysqld" About an hour ago Up About an hour 3306/tcp, 33060/tcp dreamy_nash
276a4bad15e558a92f32e74527da8e6c557a5c08660c3df3813a5a1e5eab30e3 nginx "/docker-entrypoint.sh nginx -g 'daemon off;'" 2 hours ago Up 2 hours 80/tcp eager_spence
▶ 수정 1
[vagrant@docker1 work]$ cat web_apps/docker-compose.yml
version: '3.9'
networks:
webapps:
services:
php:
build: ./docker/php
volumes:
- ./html:/var/www/html
- ./logs:/etc/httpd/logs
ports:
- '8000:80'
networks:
webapps:
depends_on:
- db
container_name: myphp
db:
build: ./docker/mysql
networks:
webapps:
container_name: mydb
▶ 수정 2
[vagrant@docker1 web_apps]$ cp ../todo/index.php ./html/
[vagrant@docker1 web_apps]$ cp ../todo/style.css ./html/
▶ 수정 3

▩ db 와 연동이 안되어있다
>> 글자가 들어가지 않는다

● index.php 파일을 바꿔준다

>> 제대로 작동한다

'Docker 와 Container' 카테고리의 다른 글
Docker Swarm (0) | 2024.03.07 |
---|---|
오케스트레이션 [orchestration] (0) | 2024.03.06 |
Docker - compose (0) | 2024.03.06 |
Docker registry 배포 (0) | 2024.03.06 |
Docker image upload (0) | 2024.03.06 |