01. Mongo DB  도커 이미지 다운로드

❯ docker pull mongo
Using default tag: latest
latest: Pulling from library/mongo
16ec32c2132b: Pull complete
6335cf672677: Pull complete
cbc70ccc8ebe: Pull complete
0d1a3c6bd417: Pull complete
960f3b9b27d3: Pull complete
aff995a136b4: Pull complete
4249be7550a8: Pull complete
4da411c5a406: Pull complete
4b9c6ac629be: Pull complete
4de7437f497e: Pull complete
Digest: sha256:d78c7ace6822297a7e1c7076eb9a7560a81a6ef856ab8d9cde5d18438ca9e8bf
Status: Downloaded newer image for mongo:latest
docker.io/library/mongo:latest

 

02. Mongo DB  도커 이미지 확인

❯ docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
mongo        latest    aad77ae58e0c   8 days ago   682MB

 

 

 

03. Mongo DB  도커 이미지 컨테이너 생성 및 실행

❯ docker run --name my-mongodb -v /Users/kabby/Desktop/mongo-data:/data/db -d -p 27017:27017 mongo

 

-v /Users/kabby/Desktop/mongo-data:/data/db 는  로컬의 /Users/kabby/Desktop/mongo-data 디렉터리와 컨테이너의 /data/db 디렉터리를 마운트시킵니다.  

 

 

04.  도커  리스트 출력

❯ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                      NAMES
f5616e2716e8   mongo     "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes   0.0.0.0:27017->27017/tcp   my-mongodb

 

 

05. Mongo DB  도커  컨테이너 생성 / 중지 / 재시작

# MongoDB 컨테이너 중지
$ docker stop my-mongodb

# MongoDB 컨테이너 시작
$ docker start my-mongodb

# MongoDB 컨테이너 재시작
$ docker restart my-mongodb

 

06. Mongo DB 도커 컨테이너 접속

$ docker exec -it my-mongodb bash

 

'IT > Infra' 카테고리의 다른 글

[MinIO] MinIO  (0) 2021.01.17
[Centos7] MinIO 객체 스토리지 설치  (0) 2021.01.17
[centos7] Jenkins 설치  (0) 2021.01.05
[Centos7] RabbitMQ Cluster 구성  (0) 2020.11.29
[Centos7] Rabbitmq 설치 (Feat. yum Repo 설치)  (0) 2020.11.29

MinIO 는 오픈소스 기반의 객체 스토리지입니다.

AWS S3 클라우드 스토리지 서비스와 호환되는 API를 쓰고 있습니다.

한마디로 요약하자면, 높은 내구성과 높은 가용성을 제공하는 오픈소스 기반 인터넷 스토리지 서비스라고 보면 됩니다.

하나의 저장 공간을 구성하고 그 공간에 데이터를 업로드하면 인터넷을 통해 해당 파일을 자유롭게 다운로드 할 수 있습니다.

물론 데이터를 업로드하고 다운로드 하는 주체가 일반 인터넷 사용자가 될 수도 있고, 다른 사용자의 어플리케이션이 될 수 도 있습니다.

 

Centos7, Mac, Docker 에서 MinIO을 설치하는 방법은 아래에서 확인 가능합니다.

 

[Centos7] MinIO 객체 스토리지 설치

[Docker] MinIO 객체 스토리지 설치

[Mac] MinIO 객체 스토리지 설치

 

'IT > Infra' 카테고리의 다른 글

[docker] Mongo DB  (0) 2021.08.04
[Centos7] MinIO 객체 스토리지 설치  (0) 2021.01.17
[centos7] Jenkins 설치  (0) 2021.01.05
[Centos7] RabbitMQ Cluster 구성  (0) 2020.11.29
[Centos7] Rabbitmq 설치 (Feat. yum Repo 설치)  (0) 2020.11.29

01. MINIO 다운로드

 

minio가 /usr/local/bin 아래에서 실행 될 수 있도록 /usr/local/bin 으로 이동 후 minio을 다운 받아 줍니다.

cd /usr/local/bin
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio

 

 

02. minio.conf 설정

 

/etc 밑에 minio 폴더를 만든 다음, minio,.conf을 생성 합니다.

cd /etc
mkdir minio
cd /etc/minio
vi minio.conf

 

vi /etc/minio/minio.conf

MINIO_VOLUMES="/data"              # minio 의 파일들을 관리할 위치 (volumes)
MINIO_OPTS="--address :9000"       # minio 서비스에 대한 연결 포트
MINIO_ROOT_USER=root               # root
MINIO_ROOT_PASSWORD=root           # root의 비밀번호
MINIO_ACCESS_KEY= "minioadmin"     # minio 접속 아이디
MINIO_SECRET_KEY= "minioadmin"     # minio 접속 비밀번호 

 

* 여기서는 기본적인 mino.conf 설정을 했습니다. 

 

 

 

03. Centos  Systemd 에 등록

 

기본적인 Systemd 설정들을 가져옵니다.

 

( cd /etc/systemd/system/; curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service )

 

 

Systemd  을 수정해줍니다.

vi /etc/systemd/system/minio.service
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]


EnvironmentFile=/etc/minio/minio.conf
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"

ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service always
Restart=always

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536

# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

# Built for ${project.name}-${project.version} (${project.name})

 

Systemd 에 적용해 줍니다.

systemctl daemon-reload

 

04. Minio Service 을 실행

minio service 실행 

systemctl start minio.service

 

실행이 잘됐는지 확인해 줍니다.

 

 

minio service 상태 확인

systemctl status minio.service
[root@pms01 minio]# systemctl status minio.service
● minio.service - MinIO
   Loaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: disabled)
   Active: active (running) since 일 2021-01-17 21:25:09 KST; 14min ago
     Docs: https://docs.min.io
 Main PID: 6481 (minio)
   CGroup: /system.slice/minio.service
           └─6481 /usr/local/bin/minio server --address :9000 /data

 1월 17 21:25:10 kabby minio[6481]: Attempting encryption of all config, IAM users and policies on MinIO backend
 1월 17 21:25:11 kabby minio[6481]: Endpoint: http://192.168.0.101:9000  http://127.0.0.1:9000
 1월 17 21:25:11 kabby minio[6481]: Browser Access:
 1월 17 21:25:11 kabby minio[6481]: http://192.168.0.101:9000  http://127.0.0.1:9000
 1월 17 21:25:11 kabby minio[6481]: Object API (Amazon S3 compatible):
 1월 17 21:25:11 kabby minio[6481]: Go:         https://docs.min.io/docs/golang-client-quickstart-guide
 1월 17 21:25:11 kabby minio[6481]: Java:       https://docs.min.io/docs/java-client-quickstart-guide
 1월 17 21:25:11 kabby minio[6481]: Python:     https://docs.min.io/docs/python-client-quickstart-guide
 1월 17 21:25:11 kabby minio[6481]: JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
 1월 17 21:25:11 kabby minio[6481]: .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide

 

192.168.0.101:9000 접속하면 minio UI가 나타난다, 위에서 설정한 minioadmin/minioadmin 을 적어서 접속한다.
minio에 접속

 

'IT > Infra' 카테고리의 다른 글

[docker] Mongo DB  (0) 2021.08.04
[MinIO] MinIO  (0) 2021.01.17
[centos7] Jenkins 설치  (0) 2021.01.05
[Centos7] RabbitMQ Cluster 구성  (0) 2020.11.29
[Centos7] Rabbitmq 설치 (Feat. yum Repo 설치)  (0) 2020.11.29

01. wget을  jenkins repository를 설정파일을 생성합니다.

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
[root@pms01 ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
--2021-01-05 07:34:18--  https://pkg.jenkins.io/redhat-stable/jenkins.repo
Resolving pkg.jenkins.io (pkg.jenkins.io)... 151.101.2.133, 151.101.66.133, 151.101.130.133, ...
Connecting to pkg.jenkins.io (pkg.jenkins.io)|151.101.2.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 85
Saving to: ‘/etc/yum.repos.d/jenkins.repo’

100%[======================================>] 85          --.-K/s   in 0s      

2021-01-05 07:34:19 (646 KB/s) - ‘/etc/yum.repos.d/jenkins.repo’ saved [85/85]

 

만약  -bash: wget: command not found 

이란 문구를 본다면, wget 이 아직 설치 되어있지 않다는 의미입니다. 우선, wget을 yum을 통해 설치 해줍니다. 

yum -y install wget
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.navercorp.com
 * extras: mirror.navercorp.com
 * updates: mirror.navercorp.com
base                                                     | 3.6 kB     00:00     
extras                                                   | 2.9 kB     00:00     
prel-release-noarch                                      | 2.9 kB     00:00     
ps-80-release-x86_64                                     | 2.9 kB     00:00     
tools-release-x86_64                                     | 2.9 kB     00:00     
updates                                                  | 2.9 kB     00:00     
Resolving Dependencies
--> Running transaction check
---> Package wget.x86_64 0:1.14-18.el7_6.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package        Arch             Version                   Repository      Size
================================================================================
Installing:
 wget           x86_64           1.14-18.el7_6.1           base           547 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 547 k
Installed size: 2.0 M
Downloading packages:
wget-1.14-18.el7_6.1.x86_64.rpm                            | 547 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : wget-1.14-18.el7_6.1.x86_64                                  1/1 
  Verifying  : wget-1.14-18.el7_6.1.x86_64                                  1/1 

Installed:
  wget.x86_64 0:1.14-18.el7_6.1                                                 

Complete!

02. key를 import 합니다.

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

03. yum 을 이용하여 jenkins을 설치 합니다.

yum -y install jenkins
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.navercorp.com
 * extras: mirror.navercorp.com
 * updates: mirror.navercorp.com
jenkins                                                  | 2.9 kB     00:00     
jenkins/primary_db                                         |  35 kB   00:00     
Resolving Dependencies
--> Running transaction check
---> Package jenkins.noarch 0:2.263.1-1.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch            Version                Repository        Size
================================================================================
Installing:
 jenkins          noarch          2.263.1-1.1            jenkins           64 M

Transaction Summary
================================================================================
Install  1 Package

Total download size: 64 M
Installed size: 64 M
Downloading packages:
jenkins-2.263.1-1.1.noarch.rpm                             |  64 MB   00:12     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : jenkins-2.263.1-1.1.noarch                                   1/1 
  Verifying  : jenkins-2.263.1-1.1.noarch                                   1/1 

Installed:
  jenkins.noarch 0:2.263.1-1.1                                                  

Complete!

 

04.  Jenkins의 기본 포트는 8080 이며, 만약  기존 서비스가 포트 8080을 쓰고 있다면,  /etc/sysconfig/jenkins 에서 포트 번호를 번경 해 줍니다. 해당 사항이 없으면 건너 뛰면 됩니다.

 

vi /etc/sysconfig/jenkins

중간에 보면  JENKINS_PORT="8080" 가 존재합니다. 이 부분에 사용할 포트 번호를 변경해줍니다.

## Type:        integer(0:65535)
## Default:     8080
## ServiceRestart: jenkins
#
# Port Jenkins is listening on.
# Set to -1 to disable
#
JENKINS_PORT="8080"

## Type:        string
## Default:     ""

 

05. 해당 서비스를 외부에서 접속해서 사용할 수 있게끔, 해당 포트 방화벽을 열어줍니다.

firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload

 

06.   부팅시  서비스를 가능하게 해줍니다.

systemctl enable jenkins

 

07. 서비스를 실행시켜줍니다.

systemctl start jenkins 

 

 

08. 웹브라우저를 통해 jenkins에 접속 후  나머지 플러그인 과 관리자 계정을 생성해줍니다.

 

 

서비스를 실행 시킨 후, 바로 브라우저를 접속을 하게 되면, 젠킨스를 준비하고 있다는 내용이 나타납니다.

 

 

/var/lib/jenkins/secrets/initialAdminPassword  으로 들어가서 비밀번호를 획득 후 넣어주고, Continue을 누릅니다.

vi /var/lib/jenkins/secrets/initialAdminPassword

 

왼쪽은 일반적으로 쓰는 플러그인들을 설치해주며, 오른쪽은 플러그인 리스트를 보며 선택해서 설치 할 수 있습니다.  둘 중 하나를 선택 합니다.

 

플러그인들이 설치되는 중

 

어드민 계정을 생성 해줍니다.

 

 

09.  Jenkins 설치 및 세팅이 완료 되었습니다.

 

'IT > Infra' 카테고리의 다른 글

[MinIO] MinIO  (0) 2021.01.17
[Centos7] MinIO 객체 스토리지 설치  (0) 2021.01.17
[Centos7] RabbitMQ Cluster 구성  (0) 2020.11.29
[Centos7] Rabbitmq 설치 (Feat. yum Repo 설치)  (0) 2020.11.29
[Vagrant] Multi VM , Memory, Cpus 설정  (0) 2020.11.29

+ Recent posts