ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker Test - Tomcat 9
    # Container | Docker 2022. 5. 30. 16:34
    1. Docker 기본 설치
     
    환경 : Oracle Linux 7.8 (CentOS 계열), Oracle JDK 1.8
     
    # 준비사항
     
    Docker Repository
     
    cd /etc/yum.repos.d/
     
     
    public-yum-ol7.repo 파일에서 아래 repository를 enable한다.
     
    ==============================================================================================================================
     
    [ol7_latest]
    enabled=1
     
    [ol7_UEKR4]
    enabled=1
     
    [ol7_addons]
    enabled=1
     
    ==============================================================================================================================
     
    # 1. yum 패키지 업데이트
    (docker package non available 오류 관련)
    yum-config-manager --enable *addons
    yum -y update
     
    # 2. Docker & Docker Registry 설치
    yum -y install docker-engine
     
    # 3. Docker 실행
    systemctl start docker.service
     
    # 4. Docker 설치 확인
    systemctl status docker
    버전 확인 : docker -v
     
    # 5. Tomcat 설치
    docker pull tomcat:9 (쌍따옴표 뒤에 숫자는 버전을 뜻함)
     
    # 6. Tomcat 실행
    docker run -d -i -t -p 8080:8080 tomcat:9
     
    # 7. 부록
    Test Page가 안나올 때 --> docker exec -it tomcat_test /bin/bash 명령어 실행하면 해당 이미지의 위치로 이동
    ls -rtl 해보면 webapp과 webapps.dist 디렉토리가 있는데 webapps.dist 디렉토리에 Test Page들이 있다.
    webapps.dist 디렉토리 내부의 파일들을 webapp 디렉토리에 복사해주면 Test Page가 제대로 출력된다.
     
    docker container에 접속하는 방법
     
    docker exec -it [CONTAINER NAME or CONTAINER ID] /bin/bash
     
    옵션으로 -it를 주는 이유는 STDIN 표준 입출력을 열고 가상 tty(pseudo-TTY)를 통해 접속하겠다는 의미이다.
     
     
    # Docker root 계정으로 로그인하는 법
     
    docker exec -i -t --user root brave_beaver /bin/bash
     
     
     
    컨테이너 bash에 vim이 설치되어있지 않을 것이다.
     
    우분투 계열은 apt-get, Centos 계열은 yum 으로 (Tomcat 9은 데비안이다.)
     
    apt-get update
     
    apt-get install nano   --> nano 에디터
     
    apt-get install vim   --> vim 에디터
     
    설치해주자.
     
    작업 후 컨테이너 커밋
     
    docker commit CONTAINER_NAME or CONTAINER ID
     
     
    # Docker Host에서 컨테이너로, 컨테이너에서 로컬로 파일 전송하는 법
     
    도커에서 컨테이너로 파일을 전송하려고 한다면 docker cp를 이용하자.
     
    예를 들어 리눅스 컨테이너에 파일을 전송하고자 한다면
     
    1. 호스트에서 컨테이너로 파일 전송하는 방법
    docker cp /home/app/install/jennifer~~~.zip ${CONTAINER_NAME}:/path/jennifer~~~~.zip
     
    2. 컨테이너에서 호스트로 파일 전송하는 방법
    docker cp ${CONTAINER_NAME}:/path/sample.txt /home/app/install/sample.txt
     
     
    # 에이전트와 데이터 서버 연동 시 문제 발생 해결
     
    처음에 dot_unknown이 떠서 vi /etc/hosts 부분에 로컬 주소(데이터, 뷰 주소)를 추가해줬더니 다시 잘 나온다.

     

    unzip 이 안될시 jar -xvf 사용, jar -xvf로 해제 시 .sh 파일들이 사용권한이 모두 풀려있기에 chmod로 따로 줘야한다.
Designed by Tistory.