(1) Docker Link
(2) MySQL
(3) MySQL + php + httpd 실습
* 이전의 실습 파일들이 남아있다면 삭제 후 진행 *

- 컨테이너 끼리는 IP를 이용하여 통신
- 컨테이너 재시작 시 IP가 변경되는 경우 발생
- Link를 사용할 시 IP 이외에 컨테이너 이름으로 통신 가능 → IP가 변경되어도 통신 가능
1. c1 컨테이너 생성


2. Link 옵션을 사용해 c2, c3 컨테이너 생성


3. 컨테이너 명을 사용하여 ping test


- 그러나 c1은 c3를 link 적용 하지 않았기 때문에 c1에서 컨테이너명으로 통신 불가능

4. 별칭으로 통신
- c4 생성 시 c1, c2, c3를 link 설정하면서 별칭 부여


5. 컨테이너 이름 변경 후 통신


6. IP 변경 후 통신
* 위에서 실습 한 컨테이너 모두 삭제 후 진행 *
- c1, c2 컨테이너 생성

- c1 컨테이너 정지


- 컨테이너를 정지 시키면 IP를 반납하게 된다

- c3 컨테이너 생성

- c1이 반납한 IP를 받게된다

- c1 컨테이너 재시작

- 재시작 되면서 원래 사용했던 172.17.0.2를 c3가 배정받았기 때문에 다른 IP를 받게 됨

- ping test

<Script 작성>
- 위에서 진행한 실습을 스크립트로 작성해보기

- c1 컨테이너 생성
- c2 컨테이너 생성
- c2 컨테이너에서 c1 컨테이너로 ping 3번 전송
- c1 컨테이너 정지
- c3 컨테이너 생성
- c1 컨테이너 재시작
- c2 컨테이너에서 c1 컨테이너로 ping 3번 전송

- 스크립트 실행

1. MySQL 설치


2. 컨테이너 생성
- MySQL 사용 방법

- [-e] 옵션을 통해 환경변수 설정


3. MySQL Client 설치

- MySQL 5.7 버전 설치를 위해 gpgcheck 수정



- m1의 IP확인



4. MySQL 로그인




- sysbee/ttp-php73 : php와 httpd를 같이 사용

1. 이미지 다운


2. 컨테이너 생성

3. 접속 확인

4. php 파일 가져오기

* 한글이 깨지지 않으려면 php파일의 포맷이 UTF-8로 설정되어있어야함*

- scp 명령어를 사용해 php 파일 복사

- 확인

5. index.php 파일 수정

* hostname에 hostname을 써주는 것을 권장

- 수정한 index.php 파일을 p1 컨테이너로 복사

- p1 컨테이너 진입 후 httpd.conf 파일의 확장자를 php로 변경


- test database 생성

- 연결 확인

6. insert1.php 파일 수정
* DB에 데이터를 밀어넣는 역할 *


7. table1.php 파일 수정
* DB에 있는 데이터를 가져와서 출력하는 역할 *


8. person1.php 파일 수정
* 데이터를 입력 받는 역할 *


9. php 파일들을 p1으로 복사

10. DB 생성


- table1.php 파일에서 요구하는 정보로 table 생성

11. 권한 부여

12. 방화벽 열기

13. 확인




| [Docker] Dockerfile 명령어&생성 (0) | 2022.06.06 |
|---|---|
| [Docker] MySQL DB + wordpress 연동 (0) | 2022.06.04 |
| [Docker] Script 작성 | Image 생성 (0) | 2022.06.03 |
| [Docker] Docker & HAproxy | 팀별 실습 (0) | 2022.06.03 |
| [Docker] Virtual Box (0) | 2022.06.02 |