본문 바로가기

Docker

[Docker] Docker에 사내용 Gitea 구축하기

 

회사에 남는 PC가 하나 생겨 사내에서 접속 할 Gitea 서버를 구축하기로 했습니다.

docker command에 익숙하지 않으시다면 Docker Desktop을 사용하여 gui로 관리 또한 가능합니다.

 

해당 글은 WSL2기반의 ubuntu shell로 진행하였으며 docker,docker desktop은 설치되어있다고 가정하겠습니다.

만약 설치하지 않은 경우 ubuntu는 powershell로 대체가 가능하나 docker는 설치를 진행하셔야 합니다.

 

 

 

1. Docker Network 구성하기

 

도커 컨테이너 간 연결을 하기 위해서는 Docker Network를 사용해야 합니다.

즉, Docker Network란 같은 호스트 내에서 실행중인 컨테이너 간 연결할 수 있도록 돕는 논리적 네트워크 개념입니다.

 

해당 글에서는 MYSQL 컨테이너와 Gitea 컨테이너를 연결해야 하므로 네트워크를 설정합니다. 

#docker network create gitea-server-network

 

2. Docker에 MYSQL 이미지 가져오기

 

Docker에 띄울 이미지를 dockerhub 사이트에서 가져옵니다.

https://hub.docker.com/ 

 

Docker Hub Container Image Library | App Containerization

Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.

hub.docker.com

 

해당 사이트에 MYSQL과 gitea를 검색하면 이미지 이름을 알 수 있습니다.

 

 

다운로드 수가 제일 높은 두 이미지를 받아와서 사용하겠습니다.

#docker pull mysql
#docker pull gitea/gitea

 

3. 가져온 MYSQL,Gitea image를 컨테이너화 시키기

 

가져온 이미지를 컨테이너화 시키기 위해 docker run 명령어를 사용합니다

 

하단에 사용한 docker 옵션은 다음과 같습니다.

 

--name :  컨테이너 이름

 

-d : 컨테이너를 일반프로세스가 아닌 데몬프로세스로 실행해 백그라운드에서 유지됩니다.

 

-e :  환경변수 설정입니다. Dockerfile의 ENV 설정을 덮어씌웁니다(여기선 Dockerfile을 사용하여 빌드하지 않았습니다)

 

-p : 호스트와 컨테이너의 포트를 연결합니다(포트포워딩)

앞은 호스트의 포트이고 뒤는 컨테이너의 포트입니다.

여기서는 mysql의 기본 포트인 3306을 사용했는데

만약 지금 pc에 mysql이 설치되어 있는 경우라면 다른 포트를 사용해서 연결해주시면 됩니다.

 

--network : 위에서 설정한 docker network에 연결합니다.

#docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=<password> -d -p 3306:3306 --network gitea-server-network mysql:latest
#docker run --name gitea -d -p 4080:4080 --network gitea-server-network gitea/gitea:latest

 

4. Mysql에 접속하여 gitea Database 생성하기

 

docker desktop이 설치되어 있다면 mysql-server 컨테이너 -> Actions ->Open in terminal로 쉽게 접근할 수 있습니다.

docker desktop이 없다면 shell로 docker에 접속합니다.

#docker exec -it mysql-server bash
#mysql -u root -p
위에 설정했던 비밀번호 입력

 

정상적으로 접근되었다면 gitea 데이터베이스를 생성합니다.

 

mysql> CREATE DATABASE gitea;
Query OK, 1 row affected(0.1sec)

 

5. Gitea 초기 설정하기

 

localhost:4080으로 접속하면 초기 설정 화면이 나옵니다.

Host에는 Mysql 컨테이너 명을 그대로 기입하고(포트번호도)

 

하단에 있는 Gitea HTTP 수신 포트에는 gitea 구축시 적었던 포트 번호(여기선 4080)을 적으면 됩니다.

'Docker' 카테고리의 다른 글

[docker] gitlab docker로 실행하기  (0) 2023.01.28
Docker Desktop WSL 2 오류 해결하기  (0) 2023.01.26