우분투 서버
설치 분류

Ubuntu 20.04에 Docker Engine 설치 및 워드프레스 설치하기

컨텐츠 정보

본문

80d24144495450039e656bc34dae5271_1595605493_2966.png 


1. Docker Engine 설치하기


도커를 설치하기 전에 현재 유저에게 docker를 실행할 수 있는 권한을 줄 것입니다.


그렇지 않으면 docker 명령어를 내릴 때 항상 sudo 명령어를 넣어야 되기 때문에 매우 귀찮습니다. 



먼저 docker 그룹을 만듭니다.



sudo groupadd docker


그리고 현재 유저를 docker 그룹에 추가합니다.



sudo usermod -aG docker $USER


SSH를 다시 접속하거나, 로그아웃 후 다시 로그인하면 적용이 됩니다.


다시 접속 후 아래의 명령어들을 내립니다.



sudo apt update && sudo apt -y upgrade




sudo apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common




curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -




sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"




sudo apt update




sudo apt install -y docker-ce docker-ce-cli containerd.io


위 순서대로 명령어를 적용하면 최신 도커 엔진을 설치할 수 있습니다.



sudo apt update && sudo apt -y upgrade && sudo apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io


또는 위 명령어로 한방에 설치 가능합니다.





sudo docker run hello-world


위 명령어로  도커 엔진이 설치됐는지 확인할 수 있습니다.


# sudo docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

0e03bdcc26d7: Pull complete

Digest: sha256:49a1c8800c94df04e9658809b006fd8a686cab8028d33cfba2cc049724254202

Status: Downloaded newer image for hello-world:latest


Hello from Docker!

This message shows that your installation appears to be working correctly.


To generate this message, Docker took the following steps:

 1. The Docker client contacted the Docker daemon.

 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.

    (amd64)

 3. The Docker daemon created a new container from that image which runs the

    executable that produces the output you are currently reading.

 4. The Docker daemon streamed that output to the Docker client, which sent it

    to your terminal.


To try something more ambitious, you can run an Ubuntu container with:

 $ docker run -it ubuntu bash


Share images, automate workflows, and more with a free Docker ID:

 https://hub.docker.com/


For more examples and ideas, visit:

 https://docs.docker.com/get-started/

위와 같이 나오면 성공입니다.


도커 엔진을 업그레이드 하려면



sudo apt update && apt -y upgrade


위와 같이 업그레이드하면 됩니다.



원문 링크 : https://docs.docker.com/engine/install/ubuntu/



2. Compose 설치하기


도커를 연결해서 실행하게 해주는 패키지입니다.




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




sudo chmod +x /usr/local/bin/docker-compose


위 두 명령어를 내리면 설치됩니다.


https://github.com/docker/compose/releases


위 링크에서 최신 릴리즈 버전을 확인할 수 있습니다. 2020년 7월 24일 현재 1.26.2입니다.


다른 버전을 설치하고 싶다면 1.26.2를 다른 것으로 바꾸면 됩니다.



원문 링크 : https://docs.docker.com/compose/install/



3. Compose로 Wordpress 구동해보기


이 방법은 워드프레스를 맛보기로 설치하는 방법입니다.


실제 서버에서 설치하는 것은 Docker Compose를 이용하여 워드프레스 설치하기 링크를 참조하세요!


테스트로 구동해보시려면 밑의 방법으로 하시면 됩니다.




mkdir -p /var/docker/wordpress




cd /var/docker/wordpress


위와 같이 폴더를 만들고 이동합니다.




nano docker-compose.yml


위 명령어로 도커 컴포즈 설정파일을 생성합니다.




version: '3.3'


services:
   db:
     image: mariadb:latest
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: mariadbpassword
       MYSQL_DATABASE: wordpressdb
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpresspassword


   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpresspassword
       WORDPRESS_DB_NAME: wordpressdb
volumes:
    db_data: {}


위와 같이 설정합니다.


비밀번호, DB, DB 유저는 원하는대로 수정하면 됩니다.


단 DB쪽과 wordpress 쪽을 맞춰줘야겠죠?


wordpress 쪽의 8000:80은 wordpress 컨테이너의 80포트를 호스트의 8000 포트와 연결한다는 뜻입니다.


따라서 외부에서 접속시 도메인주소:8000 으로 접속하면 wordpress 컨테이너의 80포트와 연결됩니다.


컨트롤 + O, 엔터, 컨트롤 + X 로 저장 후 닫아줍니다.




docker-compose up -d


위 명령어로 도커 컴포즈 환경설정파일에 따라 설치합니다.


# docker-compose up -d

Creating network "wordpress_default" with the default driver

Creating volume "wordpress_db_data" with default driver

Pulling db (mariadb:latest)...

latest: Pulling from library/mariadb

692c352adcf2: Pull complete

97058a342707: Pull complete

2821b8e766f4: Pull complete

4e643cc37772: Pull complete

dfd31a8b718f: Pull complete

b03768a32e57: Pull complete

2e4ef2ecadfe: Pull complete

36b1c98359f8: Pull complete

b4296564e05a: Pull complete

fed3238308db: Pull complete

ffd1a5c85817: Pull complete

cc3212c3b29b: Pull complete

78034e7ff7d2: Pull complete

Digest: sha256:a317e3553e49f718a462f544cfc0ad9f83d705667f73dd9dc774515c338c547a

Status: Downloaded newer image for mariadb:latest

Pulling wordpress (wordpress:latest)...

latest: Pulling from library/wordpress

6ec8c9369e08: Pull complete

081a822af595: Pull complete

bb5bea655fca: Pull complete

1e5d9e6a44c7: Pull complete

51c80d726a75: Pull complete

41f3ef5189e5: Pull complete

c1a9c1efdc83: Pull complete

348c6ac67813: Pull complete

d16c4c4b2a5f: Pull complete

035ee560bfbc: Pull complete

4c16f7d16e86: Pull complete

560feb679e04: Pull complete

0bc8defe61af: Pull complete

fba669638605: Pull complete

e7e6887919c1: Pull complete

0a2bc4bd1e57: Pull complete

bfc2dedb5a6a: Pull complete

9d6e9899cbb7: Pull complete

627e98c5d45c: Pull complete

504e4867f2f5: Pull complete

Digest: sha256:095e933a48619e3dfb11f51b11fbe2ebdd0e2f827f1a38c556c80f635c8baf72

Status: Downloaded newer image for wordpress:latest

Creating wordpress_db_1 ... done

Creating wordpress_wordpress_1 ... done

위와 같이 설치가 됩니다.




docker ps


위 명령어를 내리면 현재 실행되고 있는 컨테이너를 보여줍니다.



CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
c9f8220bec56        wordpress:latest    "docker-entrypoint.s…"   47 seconds ago      Up 46 seconds       0.0.0.0:8000->80/tcp   wordpress_wordpress_1
08dfdddfc13e        mariadb:latest      "docker-entrypoint.s…"   51 seconds ago      Up 47 seconds       3306/tcp               wordpress_db_1


위와 같이 잘 실행이 되는 것을 알 수 있습니다.


4. 접속하기


80d24144495450039e656bc34dae5271_1595605502_663.png
 


도메인:8000 또는 IP:8000 와 같은 형식으로 브라우저에 입력하면 워드프레스 설치화면이 나옵니다.


접속이 안된다면 서버의 8000번 방화벽을 열어주면 됩니다.


5. 정지하기




docker-compose stop


위 명령어로 컴포즈로 실행된 컨테이너들을 정지시킵니다.


6. 삭제하기




docker-compose down 


위 명령어는 컨테이너, 기본 네트워크를 삭제하지만 워드프레스의 DB 는 남깁니다.


# docker-compose down

Stopping wordpress_wordpress_1 ... done

Stopping wordpress_db_1        ... done

Removing wordpress_wordpress_1 ... done

Removing wordpress_db_1        ... done

Removing network wordpress_default

위와 같이 삭제됩니다.




docker-compose down --volumes


위 명령어는 워드프레스의 DB까지 삭제합니다.


원문 링크 : https://docs.docker.com/compose/wordpress/

관련자료

댓글 0
등록된 댓글이 없습니다.
전체 34 / 1 페이지
RSS

최근글


새댓글


알림 0