
version: "1" # 사용 가능한 버전에 따라 변경 가능
services:
mysql-container: # 첫번째 컨테이너 : mysql
image: mysql:8.3.0 # mysql 이미지
networks:
- net1 # mysql과 wordpress를 연결할 네트워크
volumes:
- mysql-vol:/var/lib/mysql
restart: always # 재시작 설정
command: ["--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"] # mysql 8.0대 버전부터 인증방식이 바뀌어 추가
environment:
- MYSQL_ROOT_PASSWORD=sunhorootpass
- MYSQL_DATABASE=wordpress
- MYSQL_USER=sunho
- MYSQL_PASSWORD=sunhopass
wordpress-container: # 두번째 컨테이너 : wordpress
depends_on:
- mysql-container # 의존할 관계
image: wordpress
networks:
- net1
volumes:
- wordpress-vol:/var/www/html
ports:
- "8085:80" # 연결할 포트
restart: always
environment:
- WORDPRESS_DB_HOST=mysql-container:3306
- WORDPRESS_DB_NAME=wordpress
- WORDPRESS_USER=sunho
- WORDPRESS_PASSWORD=sunhopass
networks:
net1:
volumes:
mysql-vol:
wordpress-vol:
⇒ 스크립트 작성하고 실행하면 잘되는데 해당 서버로 들어가면 500에러가난다….씌익
docker-compose -f yml경로 up -d

docker-compose -f yml경로 down


⇒ 클러스터 = 마스터 노드 + 워커노드 : 사람이 개입하지않고 자율적으로 동작한다.
etcd 라는 데이터베이스가 설치된다.


apiVersion: apps/v1
kind: Deployment
metadata:
name: apa000dep
spec:
selector:
matchLabels:
app: apa000kube
replicas: 3
template:
metadata:
labels:
app: apa000kube
spec:
containers:
- name: apa000ex91
image: httpd
ports:
- containerPort: 80

apiVersion: v1
kind: Service
metadata:
name: apa000ser
spec:
type: NodePort
ports:
- port: 8099
targetPort: 80
protocol: TCP
nodePort: 30080
selector:
app: apa000kube

<결과>

kubectl get pods

kubectl delete pod ~

: 파드하나 삭제후 다시 조회하면 새로운 ID의 파드가 보충됨을 확인할수있다.

delete -f 디플로이먼트,서비스 경로
디플로이먼트

서비스