[Docker] ec2 머신 도커에 wordpress 설치

해질녘·2022년 4월 16일
0
post-thumbnail

[Docker] ec2 머신 도커에 wordpress 설치

이 포스팅은

  • ec2 ubuntu machine 인스턴스 위에
  • docker, docker-compose 설치 후
  • 도커 컴포즈를 통해 wordpress 설치하는 방법이다.

잡설

수업에서 보고 따라 할 땐 쉬운데 하나 꼬이니까 뭐가 잘못 됐는지 알 수가 점점 없어짐...

처음에 워드프레스 올리고 테마랑 플러그인을 별 생각 없이 깔았더니, 아마도 disk 용량이 가득 찼는지 메인 화면이 아주 느리게 나오고, 관리자 페이지 (/wp-admin)에는 접속조차 되지 않는다.

도커 컨테이너 삭제, 이미지 삭제 다 해봤으나 심지어는 이미지 삭제 후 재설치 시에도 같은 wordpress 화면이 나온다. 대체 도커의 어디에 어떻게 저장되는지 알수가 없는데, 이것은 내가 도커를 이해하지 못했기 때문일 것이다.. --> 포스팅 마지막에 답 나옴

결국 만들어둔 다른 ec2 인스턴스에 다시 설치 진행하였다.

docker-compose 설치

docker 설치는 이미 되어있다고 치고

docker-compose 설치한다.

공식 튜토리얼

위를 참고해서 그대로 진행

 sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

그냥 apt-get install 이걸로 설치하면 도커 컴포즈 구버전이 설치돼서, 아래에 워드프레스 yml 파일과 호환이 안 된다.

 sudo chmod +x /usr/local/bin/docker-compose
 sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
 docker-compose --version

output 터미널에 1.29.2 나오면 성공

wordpress 설치

튜토리얼 링크

wordpress를 설치할 디렉토리 만든다

 mkdir my_wordpress; cd my_wordpress

my_wordpress 디렉토리로 진입후

vim docker-compose.yml

여기에 복붙

version: "3.9"
    
services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - wordpress_data:/var/www/html
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
volumes:
  db_data: {}
  wordpress_data: {}

물론 윈도우와 우분투 시스템의 복붙 명령어 차이로 쉽지 않다.

vim에서 a 눌러서 입력모드 켜고 오른쪽 마우스 클릭을 추천한다.

마지막으로

docker-compose up -d

하면 끝난다.

인바운드 설정

8000번 열려있는지 확인한다. 위 yml 파일을 읽어보면 8000번 포트가 열도록 하는 것

퍼블릭ip:8000

으로 접속하면

이런 워드프레스 로그인 화면 등장. 한국어 찾아서 한국말로 시키는대로 한다.

자동 생성된 Password는 복사해서 메모장에 붙여넣기 하고 있자.

입력 완료 후 로그인한다.

이후 워드프레스 화면을 보고 꾸미거나 하면 된다.

꾸민모습

강제종료, 초기화

강제종료는

docker-compose down

컨테이너와 현재 네트워크를 내림. 즉 이렇게 하면 접속 x. 그러나 워드프레스 db는 남아 있음 (워드프레스 테마, 포스팅 등)

초기화는

docker-compose down --volumes

이렇게 하면 컨테이너, 네트워크 내려가고, 워드프레스 db도 죽여~버린다고 한다.


포스팅 끝

튜토리얼에 이 부분이 있다는 걸 2시간 전에 알았으면 좋았을텐데^^ 이 포스팅 작성하면서 보게 되었다. ^^

profile
해질녘 | 백엔드 공부 중

1개의 댓글

comment-user-thumbnail
2023년 1월 18일

여기에 도메인 연결 + SSL 추가도 해보셨나요?

답글 달기