Ubuntu 20.04에 Docker Engine 설치 및 워드프레스 설치하기
컨텐츠 정보
- 14,136 조회
- 0 추천
- 목록
본문
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:
For more examples and ideas, visit:
위와 같이 나오면 성공입니다.
도커 엔진을 업그레이드 하려면
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. 접속하기
도메인: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까지 삭제합니다.
-
등록일 2020.10.04
-
등록일 2020.10.04
-
등록일 2020.09.27
-
등록일 2020.09.27중국 황금방패 뚫는 VPN 3대장 직접 설치하기댓글 215
관련자료
-
서명우성짱의 NAS를 운영하고 있습니다.
저의 즐거움이 여러분의 즐거움이면 좋겠습니다.
-
링크