[Docker]도커 설치하기 + 컨테이너에 서비스 설치까지

2023. 8. 4. 12:51초기 과업/DevSecOps

작성자알 수 없는 사용자

728x90
반응형

 

안녕하세요. 기깔나는 사람들에서 DMSO를 맡고있는 정우입니다.

오늘은 도커를 제 가상서버에 설치를 해볼겁니다


도커 설치하기

도커를 설치를 하려면 curl을 먼저 설치해줍니다.

 

curl 설치 명령어 

$ sudo apt-get curl

이렇게 나오면 curl 설치완료

 

curl을 사용해 도커에 연결해서 설치해봅니다.

$ curl -s https://get.docker.com/ | sudo sh

 

 

 

기본적으로 도커는 root계정외에는 사용이 불가하기 때문에 내 계정을 추가를 해줘야 합니다.

$ sudo usermod -aG docker <USERID>

 

 

 

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=complusblog&logNo=220974258517 

 

도커 (Docker) - Ubuntu(우분투)에 도커 설치하기

우분투에 도커(Docker)를 설치하는 방법에는 두 가지가 있습니다. 1. 자동설치 스크립트우분투에서 ...

blog.naver.com


설치 확인

docker -v 또는 docker version

$ docker -v  # 또는 docker version

 

 

 

도커 현재 실행상태 확인

$ sudo systemctl status docker

 

 


도커 기본 명령어

1. 도커 실행 run

$ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

옵션 종류

  •  d : detached mode (백그라운드 모드) 
  •  p : 호스트와 컨테이너의 포트를 연결
  •  v : 호스트와 컨테이너의 디렉터리를 연결
  •  e : 컨테이너 내에서 사용할 환경변수 설정
  •  --name : 컨테이너 이름설정
  •  --rm : 프로세스 종료시 컨테이너 자동제서
  •  -it : -i 와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션
  • --network : 네트워크 연결

생명주기

생성(create) -> 시작(start) -> 실행(run)-> 중지(stopped) -> 삭제(delete)

 

docker run은 설치되어있지 않는경우

 생성(create) + 시작(start)

 

 

2. 원하는 우분투를 설치해보기

인프런 강의와 맞추기 위해서 ubuntu:20.04를 설치해보겠습니다.

https://velog.io/@leeyejin1231/Docker-Ubuntu-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%A7%8C%EB%93%A4%EA%B8%B0-Mac 

 

[Docker] Ubuntu 컨테이너 만들기 (Mac)

도커 container를 만들러 가볼까요 ~ ? 😉

velog.io

$ docker pull ubuntu:20.04

 

 

 

3. /bin/sh 실행하기

설치가 완료 됐다면  서버 실행하기

$ docker run ubuntu:20.04

ubuntu:20.04는 "/bin/bash"가 지정되어 쉘이 실행되야 합니다

입력을 받을 수 있도록 "-it"옵션을 입력하지 않았기 때문에 바로 실행이 종료되었습니다.

 

$ docker run --rm -it ubuntu:20.04 /bin/sh

 

 

4. CentOS 실행하기

도커는 다양한 배포판을 사용할 수 있습니다. Centos8도 설치를 해봅니다.

 

 

5. 웹 어플리케이션 실행하기

$ docker run --rm -p 5678:5678 hashicorp/http-echo -text="hello world"

-d 옵션을 주면 백그라운드에서 실행이 가능합니다. 

 

브라우저를 새로 켜서 해당 port로 접속을 합니다.

 

 

 

6. Redis 실행하기

Redis라는 메모리기반 데이터베이스를 실행합니다.

 

$ docker run --rm -p 1234:6379 redis

 

이제 명령어를 칠 준비가 되었습니다

새로운 서버에 접속해봅니다.

 

$ telnet localhost 1234
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

set hello world
+OK
get hello
$5
world
quit
+OK

 

7. MySQL(MariaDB) 실행하기

도커는 다양한 데이터베이스를 손쉽게 생성/삭제할 수 있기 때문에 개발할때도 많이 사용합니다.

 

$ docker run -d -p 3306:3306 \
-e MYSQL_ALLOW_EMPTY_PASSWORD=true \
--name mysql \
mariadb:10.9

 

 

MySQL을 실행해보겠습니다.

MariaDB [(none)]> create database wp CHARACTER SET utf8;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> grant all privileges on wp.* to wp@'%' identified by 'wp';
Query OK, 0 rows affected (0.017 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> quit
Bye

 

 

 

 

 

8. 워드프레스 블로그 실행하기

앞에서 만든 MySQL을 실행한 상태에서 생성합니다.

 

우선 MariaDB가 실행되고 있는지 확인해볼게요

$ docker ps -a

 

워드프레스를 설치 + run해보겠습니다. 

$ docker run -d -p 8080:80 \
-e WORDPRESS_DB_HOST=host.docker.internal \
-e WORDPRESS_DB_NAME=wp \
-e WORDPRESS_DB_USER=wp \
-e WORDPRESS_DB_PASSWORD=wp \
wordpress

 

 

웹브라우저에 접속을 해봅니다.

localhost:8080

 

DB에 접속이 안되는데 

컨테이너를 다시 변경해서 설정해보겠습니다.

 

https://bill1224.tistory.com/356

 

[Docker] WordPress 환경 구축하기 (2)

저번에 만든 wordpress 환경에 network 적용과, MySQL에는 볼륨옵션을 추가해볼려고 합니다. 기존의 컨테이너 정지 / 삭제 docker stop mysql docker rm mysql docker stop wordpress docker rm wordpress 우선 컨테이너를 삭

bill1224.tistory.com

 

 

network를 생성해주면 컨테이너를 관리할 수 있도록 설정을 해줍니다.

docker network create wp-network

그러면, wordpress 컨테이너를 생성할 경우에

-e WORDPRESS_DB_HOST=host.docker.internal로 설정해주었던 것도 

-e WORDPRESS_DB_HOST=mysql   이런식으로 설정이 가능해집니다.

 

MariaDB 재설치

$ docker stop mysql

$ docker rm mysql

$ docker run -d -p 3306:3306 \
--network=wp-network \
-e MYSQL_ALLOW_EMPTY_PASSWORD=true \
--name mysql \
mariadb:10.9

 

wordpress 재설치

$ docker stop wordpress

$ docker rm wordpress

$ docker run -d -p 8080:80 \
--network=wp-network \
-e WORDPRESS_DB_HOST=mysql \
-e WORDPRESS_DB_NAME=wp \
-e WORDPRESS_DB_USER=wp \
-e WORDPRESS_DB_PASSWORD=wp \
--name wordpress \
wordpress

 

localhost:8080 포트로 이동!

 

첫화면입니다.

 

 

한국어로 설정해줍니다. 

 

 

 

도커설치는 완료되었습니다.

 

9. 로그인

 


오늘은 도커 설치방법과 여러 서비스들을 컨테이너에 생성하는 방법을 함께 배워보았습니다.

다음엔 도커 기본 명령어 를 소개해드리겠습니다. 

 

 

 


 

 

 

 


참고자료

🔗 - https://velog.io/@leeyejin1231/Docker-Ubuntu-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%A7%8C%EB%93%A4%EA%B8%B0-Mac 

 

📖 - 인프런- 따라하며 배우는 도커와 CI환경

📖 - 인프런- 초보를 위한 도커안내서

 

 

 

 

 

728x90
반응형

'초기 과업 > DevSecOps' 카테고리의 다른 글

[Docker] Node.js 앱만들기  (0) 2023.08.10
[Docker] 도커 이미지 만들기-기본  (0) 2023.08.08
[Docker] 도커 컴포즈 Wordpress  (0) 2023.08.07
[Docker] 도커 기본 명령어  (0) 2023.08.05
도커란 무엇인가?  (0) 2023.08.03