학습내용

  • 오픈자바 설치
  • 오라클자바 설치
  • SSH (Secure Shell)설정
  • MySQL

학습목표

  • 도커를 사용해 오픈자바/오라클자바/SSH/MySQL을 설치하고 사용방법에 대해 알아 본다.


오픈자바 설치

  • Linux계열에는 OpenJava를 설치하기 쉽고, 오라클자바는 공식적으로 지원하지 않아, 서드파티에서 만든 파일을 사용
  • 일반적인 우분투 환경변수 설정
    • ~/.profile 이나 ~/.bashrc에 설정하고 source명령어로 반영
  • 도커에서는
    • Dockerfile에서 RUN/ENV 명령어로 설정

      FROM ubuntu:latest

      MAINTAINER myeongho lee <sooabia22@sptek.co.kr>


      RUN apt-get update

      RUN apt-get install nano

      RUN apt-get install -y openjdk-8-jdk

      RUN apt-get clean (.deb파일 삭제)


      ENV TERM=xterm (nano때문에 설정)


      ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

      ENV CLASSPATH=$JAVA_HOME/lib/*:. (자바라이브러리와 현재폴더)

      ENV PATH=$PATH:$JAVA_HOME/bin


      -----------------------------

      $docker build --tag=ubuntu_openjava .

      $docker images

      $docker run -it --name=ubuntu_java ubuntu_openjava

      #echo $JAVA_HOME

      #env $CLASSPATH

      #env $PATH

      #java

      #javac

오라클자바 설치


FROM ubuntu:latest

MAINTAIER myeongho lee <sooabia22@sptek.co.kr>


RUN apt-get update -y

RUN apt-get install -y nano

RUN apt-get install -y software-properties-common

RUN add-apt-repository ppa:webupd8team/java (새로운 저장소 추가)

RUN apt-get update -y

RUN echo oracle-java8-installer shared/occepted-oracle-license-v1-1 select true | /user/bin/debconf-set-selections

RUN apt-get install -y oracle-java8-installer

RUN apt-get clean


EVN TERM=xterm


ENV JAVA_HOME=/user/lib/jvm/java-8-oracle

ENV CLASSPATH=&JAVA_HOME/lib/*:.

ENV PATH=$PATH:$JAVA_HOME/bin


----------------------------------------------------------

$docker build --tag=ubuntu_oracle_java .

$docker images

$docker run -it --name=ubuntu_oracle_java ubuntu_oracle_java

#echo $JAVA_HOME

#echo $PATH

#echo $CLASSPATH

#javac

#java

SSH설정

    • 일반적인 우분투 SSH설정
      • opehssh-servier 설치
      • sudo apt-get install openssh-server
      • 서버 실행 종료
      • sudo service ssh start/restart/stop
      • /etc/init.d/ssh start/restart/stop
    • Docker에서의 SSH설정
      • 도커에서는 리눅스의 service가 제대로 실행되지 않음
      • 별도의 방식으로 제공해야 함
      • root계정으로 원격접속하려면
      • /etc/ssh/sshd_config 파일의 PermitRootLogin설정을 prohibit-password/without-password에서 yes로 수정
      • chpasswd를 통해서 root의 비밀번호 지정
      • (기본적으로 우분투에서는 root패스워드가 지정되어 있지 않으므로 설정해줘야 합니다.)

      • FROM ubuntu:latest

        MAINTAINER myeongho lee<sooabia22@sptek.co.kr>


        RUN apt-get update

        RUN apt-get install nano

        ENV TERM=xterm


        RUN apt-get install -y openjdk8-jdk

        RUN apt-get install -y openssh-server

        RUN mkdir /var/run/sshd

        RUN echo 'root:kitri' | chpasswd


        RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshed_config (스트링열 찾아 바꾸기)

        RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config (스트링열 찾아 바꾸기)


        EXPOSE 22


        CMD ["/usr/sbin/sshd","-D"] (서버모드 디테치로 실행)

        [설명]

        • SSH비밀번호 지정 (root/kitri)
        • EXPOSE명령어를 사용해서 외부로 포트(22)노출
        • CMD명령을 사용해서 sshd프로그램을 서버로 노출
          • 리눅스의 서비스(service수행)대체
  • No labels
Write a comment…