gmlwlsl 님의 블로그

[AWS, Docker] docker-compose 실습 본문

Visualizer

[AWS, Docker] docker-compose 실습

gmlwlsl 2024. 6. 27. 20:14
더보기

EC2 spec

- AMI : Ubuntu 22.04

- type : t2.medium

- SG : 모든 TCP/UDP/ICMP 허용

- DiskSize : 10GB

- Subnet : public

 

 

실습 (Cloud shell or terminal)

awscli 및 docker 설치 포스팅 - https://gmlwlsl.tistory.com/9

 

[AWS, Docker] Nginx Container로 html 페이지 띄우기

더보기EC2 condition- AMI : ubuntu 22.04- type : t2.medium- SG : 모든 TCP/UDP/IDMP 허용- DiskSize : 10GB- Subnet : public  실습 (Cloud shell or terminal)terminal의 경우 아래 조건이 충족되어야 함더보기- aws 실행 가능한 

gmlwlsl.tistory.com

 

1. docker-compose 설치

$ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
$ mkdir -p $DOCKER_CONFIG/cli-plugins
$ curl -SL https://github.com/docker/compose/releases/download/v2.28.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
$ chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
$ docker compose version

https://docs.docker.com/compose/install/linux/

 

Install the Compose plugin

Download and install Docker Compose on Linux with this step-by-step handbook. This plugin can be installed manually or by using a repository.

docs.docker.com

 

2. docker-compose.yml 생성

$ touch docker-compose.yml

 

3. docker-compose.yml 편집

# docker-compose.yml
version: '3.8'

services:
  wordpress:
    image: wordpress:latest 
    restart: always
    ports:
      - "8000:80"  # 호스트 포트와 컨테이너 포트를 연결합니다. 필요에 따라 포트를 수정할 수 있습니다.
    environment:
      WORDPRESS_DB_HOST: wordpress-db
      WORDPRESS_DB_USER: example_user  # 사용할 데이터베이스 사용자 이름을 입력합니다.
      WORDPRESS_DB_PASSWORD: example_password  # 사용자의 데이터베이스 암호를 입력합니다.
      WORDPRESS_DB_NAME: example_database  # 데이터베이스 이름을 입력합니다. 필요에 따라 수정할 수 있습니다.
    volumes:
      - wordpress:/var/www/html  # 워드프레스 파일을 저장할 볼륨을 설정합니다.

  wordpress-db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: example_database  # 워드프레스 애플리케이션과 동일한 데이터베이스 이름을 입력합니다.
      MYSQL_USER: example_user  # 사용할 데이터베이스 사용자 이름을 입력합니다.
      MYSQL_PASSWORD: example_password  # 사용자의 데이터베이스 암호를 입력합니다.
      MYSQL_RANDOM_ROOT_PASSWORD: '1'  # 무작위 MySQL root 암호를 생성합니다.
    volumes:
      - db_data:/var/lib/mysql  # MySQL 데이터를 저장할 볼륨을 설정합니다.

volumes:
  wordpress:
  db_data:

 

4. 배포

$ docker compose up -d

 

5. 삭제하려면

$ docker compose down