사용자 도구

사이트 도구


wiki:miscellaneous:docker_install:docker_install

문서의 이전 판입니다!


Docker Install

  • description : Docker를 통한 CentOS 설치 및 RSA 설치 방법
  • author : 치킨5분컷
  • email : hgkim@repia.com
  • lastupdate : 2022-11-10 Thu


사전에 설치가 필요한 프로그램

  • putty
  • File Zilla FTP Client

도커 가동에 필요한 WSL v2 준비절차

  1. 키보드에 Window키 버튼을 눌러 '검색하려면 여기에 입력하세요'에 'Microsoft Store' 를 친 후 앱을 실행.
  2. 실행시킨후 Store 화면에 진입했으면 Store 검색창에 아래 앱 검색하여 다운.
    • Windows Terminal, Ubuntu 22.xx.x
  3. Ubuntu 22.xx.x 실행후 install~~…표시가 뜨는데 끝나면 창을 종료.
  4. 'Microsoft Store' 를 우측 상단 X표시를 눌러 창을 종료.
  5. 키보드에 Window키 버튼을 눌러 '검색하려면 여기에 입력하세요'에 'Windows PowerShell' 을 입력.
  6. 'Windows PowerShell' 위에 마우스를 올리고 오른쪽 마우스를 클릭하여 관리자 권한으로 실행.
C:\Windows\system32> wsl.exe --install
C:\Windows\system32> wsl -l -v                                        //현재 사용하고 있는 WSL의 이름과 버전을 확인가능.
              NAME         STATE       VERSION                                                                       
          Ubuntu-22.04    Running         1     
C:\Windows\system32> wsl --set-version Ubuntu-22.04 2                 //현재 사용하고 있는 WSL의 버전을 2로 변경. 
C:\Windows\system32> wsl -l -v                                        //WSL의 버전 변경이 성공적으로 끝나면 VERSION이 2로 변경됨.
              NAME         STATE       VERSION                                                                       
          Ubuntu-22.04    Running         2     
 
  1. 설정이 끝났으면 'Windows PowerShell' 프로그램 종료.
  2. https://www.docker.com/ 을 들어가 도커 다운로드.
  3. 도커를 설치한다. 이 때 설치 과정중 체크되어있는 사항은 풀지않고 다음 클릭.
  4. 도커가 설치된 후 튜토리얼 할지 묻는데 이건 선택사항. SKIP 눌러도 가능.
  5. 우측 상단 톱니바퀴 모양을 눌러 옵션 설정 화면으로 이동.
  6. Resources → WSL Integration → Enable integration with additional distros에 WSL2로 변환된 Ubuntu가 있는지 확인.
  7. WSL2로 변환된 Ubuntu가 없을시 'Windows PowerShell' 과정 부터 다시 시도 필요.

WSL 설치 후 PC(Docker Desktop)에 CentOS Container를 설치하는 과정

  1. Ubuntu를 실행.
  2. 명령줄에 아래 명령 실행.
hgkim@LAPTOP-266L93S4:~$ docker run -p 7100-7110:7100-7110/tcp -p 80:80 -p 8080:8080 -p 22:22 --privileged -d --name reins(생성될 컨테이너 이름) centos:7.9.2009(사용할 OS 이미지-없으면 자동으로 내려받음) /sbin/init
//안하면 remote side unexpectedly closed network connection [Docker] Failed to get D-Bus connection: Operation not permitted 오류 발생
hgkim@LAPTOP-266L93S4:~$ docker exec -it reins(실행할 컨테이너 이름) /bin/bash

필요한 패키지 설치

[root@60ecf6972a57 /]# yum update && yum install -y sudo
[root@60ecf6972a57 /]# yum install net-tools
[root@60ecf6972a57 /]# yum install -y libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel

방화벽 설치 및 포트 열기

[root@60ecf6972a57 /]# yum install firewalld                                             //방화벽 설치
[root@60ecf6972a57 /]# sudo systemctl start firewalld                                    //방화벽 실행
[root@60ecf6972a57 /]# sudo firewall-cmd --permanent --add-port=22/tcp                   //방화벽 포트 열기
[root@60ecf6972a57 /]# sudo firewall-cmd --permanent --add-port=80/tcp                   //방화벽 포트 열기
[root@60ecf6972a57 /]# sudo firewall-cmd --permanent --add-port=8080/tcp                 //방화벽 포트 열기
[root@60ecf6972a57 /]# sudo firewall-cmd --permanent --add-port=7100-7110/tcp            //방화벽 포트 열기
[root@60ecf6972a57 /]# firewall-cmd --reload                                             //방화벽 재시작
[root@60ecf6972a57 /]# firewall-cmd --list-port                                          //방화벽 열려있는 포트 확인

ssh 설치

[root@60ecf6972a57 /]# yum -y install openssh-server openssh-clients openssh-askpass     //ssh 구동에 필요한 패키지 설치
[root@60ecf6972a57 /]# systemctl restart sshd.service                                    //서비스 재시작
[root@60ecf6972a57 /]# vi /etc/ssh/sshd_config                                           //Port 22 : 이 부분 주석 해제
[root@60ecf6972a57 /]# systemctl start sshd.service                                      //서비스 구동
[root@60ecf6972a57 /]# systemctl status sshd.service                                     //서비스 상태확인

putty 프로그램에 접속하기 위한 준비단계

[root@60ecf6972a57 /]# passwd                                                            //putty를 통해 root 계정으로 접속하기 위한 패스워드 설정
[root@60ecf6972a57 /]# adduser hgkim                                                     //putty를 통해 유저 계정으로 접속하기 위한 아이디 생성
[root@60ecf6972a57 /]# passwd  hgkim                                                     //putty를 통해 유저 계정으로 접속하기 위한 패스워드 설정

putty 프로그램 접속 및 검색엔진 구동에 필요한 파일 준비 단계

  1. putty 프로그램 실행
  2. 중앙 상단에 보이는 Host Name (or IP address)에 내 IP를 기입. - 내 IP를 모를경우 (window키 + R키)를 눌러 cmd창 오픈. 명령줄에 ipconfig시 보이는 이더넷 IP 기입.
  3. Port에 22 입력. 아래 ssh클릭.
  4. 중앙 하단에 있는 Open클릭.
  5. 아이디와 비밀번호를 입력하여 putty접속.
login as: root
root@192.168.xx.xxx's password: 입력
Login~~~...
 
[root@60ecf6972a57 /]$ -mkdir /opt/search                 //search 디렉토리 생성
  1. RSA패키지, tomcat, java 를 내 바탕화면에 다운로드.
  2. 사전 설치한 File Zilla FTP Client 실행.
  3. putty에 접속한 방법처럼 화면 좌측 상단에 있는 호스트(IP)부터 사용자명(root) 비밀번호(설정한 root계정 비밀번호) 포트(22번) 입력후 연결 클릭.
  4. 연결되면 로컬 사이트 - 내 컴퓨터의 바탕화면 디렉토리로 이동 / 리모트 사이트 - 가상환경 내 /opt/search/ 디렉토리로 이동.
  5. 로컬 사이트의 바탕화면에서 방금 받은 RSA패키지, tomcat, java를 ctrl키를 사용하여 다중 선택.
  6. 마우스 우클릭 → 업로드 하여 파일이 /opt/search/ 디렉토리로 이동한것을 확인후 프로그램 종료.
  7. 아까 켜놨던 putty 창으로 이동.
[root@60ecf6972a57 search]$ cd /opt/search/                            //search 디렉토리로 이동
[root@60ecf6972a57 search]$ tar -zxvf 패키지이름.tar.gz                 //해당 디렉토리에 패키지 압축 해제
[root@60ecf6972a57 search]$ ln -sn RSA패키지풀네임 RSA                  //패키지에서 압축해제된 디렉토리를 심볼링크 명령어로 파일 이름을 간편하게 변경.
[root@60ecf6972a57 search]$ ln -sn tomcat패키지풀네임 tomcat9           //패키지에서 압축해제된 디렉토리를 심볼링크 명령어로 파일 이름을 간편하게 변경.
[root@60ecf6972a57 search]$ ln -sn java패키지풀네임 java8               //패키지에서 압축해제된 디렉토리를 심볼링크 명령어로 파일 이름을 간편하게 변경. 
[root@60ecf6972a57 search]$ chown -R hgkim:hgkim *                     //디렉토리 안의 모든 파일을 hgkim 계정(유저 계정)이 사용할 수 있게 권한 변경.

설정 및 실행파일의 필요한 RSA 및 java경로 파일 수정 단계

  1. VI 편집기 사용시 키보드의 Ins키를 눌러야 하단 부분에 —INSERT— 표시가 떠야 수정가능.
  2. 편집이 끝났을시 키보드의 ESC를 눌러 —INSERT—를 없앤뒤 키보드 SHIFT+; 을 눌러 명령어 아래 입력가능
    • 명령어
      • q(문서의 내용을 변경하지 않았고, 편집기에서 나오고 싶을때)
      • q!(문서의 내용을 변경했는데 저장하고 싶지 않을때)
      • wq(내용 변경하였을때 변경된 내용을 저장하고 싶을때)
      • 대문자 안됨
INSTALL.PATH - ${RSA_ROOT}/
[root@60ecf6972a57 search]$ su - hgkim                                                                                //root계정에서 hgkim 계정(유저 계정)으로 전환.
[hgkim@60ecf6972a57 /]$ vi /opt/search/RSA/INSTALL.PATH                //RSA디렉토리가 있는 경로로 설정 변경. ex)RSA디렉토리는 /opt/search/에 있으니 만약 경로가 /PROJECT/kigam../RSA 이런식으로 되어있을시 /opt/search/RSA로 변경.
[hgkim@60ecf6972a57 /]$ cd /opt/search/RSA/bin                                                                        //RSA/bin디렉토리에서 변경해야할 파일이 많으므로 RSA/bin/디렉토리로 이동.
[hgkim@60ecf6972a57 bin]$ vi rssAdmMgr.sh                                                                             //if위에 cd 경로수정
[hgkim@60ecf6972a57 bin]$ vi RSS_START.sh                                                                             //RSS_ROOT 경로수정
[hgkim@60ecf6972a57 bin]$ vi RSS_STOP.sh                                                                              //RSS_ROOT 경로수정
[hgkim@60ecf6972a57 bin]$ vi realRank.sh                                                                              //cd 경로 수정
[hgkim@60ecf6972a57 bin]$ vi LogDayProc.sh                                                                            //cd 경로 수정
[hgkim@60ecf6972a57 bin]$ vi acsctl.sh                                                                                //RSS_ROOT, JAVA_EXE 경로 수정 및 AUTOCOMPLETE_PORT="7104"확인 필요.
[hgkim@60ecf6972a57 bin]$ cd ../conf                                                                                  //RSA/conf 디렉토리로 이동.
[hgkim@60ecf6972a57 conf]$ vi KLTdic.conf                                                                             //dicFilePath, newDicFilePath 경로 수정 및 DicPort="7100" 확인 필요.
[hgkim@60ecf6972a57 conf]$ vi install.conf                                                                            //installDir 경로 수정 및 rssPort1="7100",rssPort2="7101" 확인 필요.
[hgkim@60ecf6972a57 conf]$ vi install.conf.xml                                                                        //installDir 경로 수정 및 rssPort1="7100",rssPort2="7101", host path="내 IP 주소" 수정 및 확인 필요.
[hgkim@60ecf6972a57 conf]$ vi rssAdmMgr.conf                                                                          //IP:0.0.0.0, PORT:7103 확인 필요. INSTALL_PATH 경로 수정 필요.
[hgkim@60ecf6972a57 conf]$ vi collsInfo.conf                                                                          //각 collection path 경로 수정 필요.
[hgkim@60ecf6972a57 conf]$ vi /opt/search/RSA/bin/html/WEB-INF/classes/search.properties                              //search.path 경로 수정 필요.
[hgkim@60ecf6972a57 conf]$ vi /opt/search/RSA/db/h2/Linux/bin/dbStart.sh                                              //DBPORT=7102 확인 및 DBPORT 아랫줄 경로 수정 필요.
[hgkim@60ecf6972a57 conf]$ vi /opt/search/RSA/db/h2/Linux/bin/dbStop.sh                                               //DBPORT=7102 확인 및 DBPORT 아랫줄 경로 수정 필요.

Web 경로 수정 단계

[hgkim@60ecf6972a57 conf]$ cd /opt/search/tomcat9/webapps                                                             //해당 경로에 RSA 심볼링크 생성을 위해 이동
[hgkim@60ecf6972a57 webapps]$ ln -sn /opt/search/RSA/bin/html RSA                                                     //해당 경로에 RSA 심볼링크 생성
[hgkim@60ecf6972a57 webapps]$ vi /opt/search/tomcat9/conf/server.xml                                                  //server.xml 파일의 맨 아랫부분에 <host></host>사이에 명령어 추가. <!-- --> 사이에만 안 넣으면 됨.
        <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            <Context path="/RSA" docBase="RSA" debug="0" reloadable="true" allowLinking="true" />
                <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
                .................
        </Host>
[hgkim@60ecf6972a57 webapps]$ vi /opt/search/RSA/bin/html/index.jsp                                                   //index.jsp 파일의 front 경로를 심볼링크로 만든 RSA로 변경
           <SCRIPT LANGUAGE="javascript">
               document.location = "/RSA/front/Search.jsp";
           </SCRIPT>

검색엔진 구동 단계

[hgkim@60ecf6972a57 webapps]$ cd /opt/search/RSA/bin                                                                  //구동을 위해 /RSA/bin 디렉토리로 이동
[hgkim@60ecf6972a57 bin]$ ./RSS_START.sh                                                                              //검색엔진 구동 명령어 입력

WAS 구동 단계

[hgkim@60ecf6972a57 bin]$ cd /opt/search/tomcat9/bin                                                                  //구동을 위해 /tomcat9/bin 디렉토리로 이동
[hgkim@60ecf6972a57 bin]$ ./catalina.sh start                                                                         //WAS 구동 명령어 입력

오류 발생시 참고 사항

  1. Cannot find /PROJECT/kigam.repia.com/SearchApp/tomcat9/bin/setclasspath.sh 오류시
    • tomcat9/bin/catalina.sh수정
  2. 모든 환경 설정을 마치고 ./startup.sh 로 tomcat start. 까지 떴는데 ps -ef | grep tomcat 했을때 tomcat 프로세스가 안뜰시
    • server.xml 파일의 맨 아랫부분에 <host></host>사이에 명령어 추가하는 부분에서 <Context path=“/RSA” docBase=“RSA” debug=“0” reloadable=“true” allowLinking=“true” /> 명령이 두 번 들어가지는 않았는지 확인 필요.
/volume1/web/dokuwiki/data/attic/wiki/miscellaneous/docker_install/docker_install.1668157342.txt.gz · 마지막으로 수정됨: 2022/11/11 18:02 저자 hgkim