Docker Installation on Ubuntu 18.04 :: 2021/04/19 22:11

우분투 18.04 버전 서버에 Docker를 설치하는 방법


<Setup the Repository>
1. apt package index update and install packages.

sudo apt-get update
sudo apt-get install apt-transport-https apt-certificates curl gnupg lsb-release

2. add Docker's offcial GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

3. Stable Repository Setup

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

<Install Docker Engine>
1. Update the apt package index, and install the latest version of Docker Engine and containerd.

sudo apt-get install docker-ce docker-ce-cli containerd.io


2. To install a specific version of Docker Engine, list the available versions in the repo.

apt-cache madison docker-ce
sudo apt-get install docker-ce={docker-ce-version} docker-ce-cli={docker-ce-cli-version} containerd.io


3. check docker version

docker -v


2021/04/19 22:11 2021/04/19 22:11
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret

Ubuntu Server 사용기 :: 2021/03/19 20:45

리눅스 Desktop으로는 Ubuntu를, Server로는 CentOS를 사용해 왔는데,

RedHat에서 CentOS를 향후에는 자사의 테스트 용도로만 사용한다는 소식이 있네요.

선택의 폭이 좁아져 안타깝지만, Server도 Ubuntu 서버 버전을 설치하여 사용해야 할 듯 합니다.

VirtualBox에 Ubuntu 18.04 LTS 서버를 설치하고,
개발한 어플리케이션을 배포하여 테스트할 환경을 구성하고자 했는데...

CentOS처럼 Ubuntu 서버를 VirtualBox에 설치하고,
Putty나 Solar-Putty와 같은 오픈소스 콘솔을 통해서 서버에 접속하려고 했더니 접속이 안 되어 이상하다 여겼는데...

openssh-server가 default로 설치되어 있지 않네요, Ubuntu 서버에는.

다음 명령어로 openssh-server를 설치해 주어야 VirtualBox Port Forward 기능을 이용하여 Putty로 접속할 수 있습니다.

sudo apt install -y openssh-server

뭔가를 새롭게 알아가는 것은 즐거운 일입니다.

2021/03/19 20:45 2021/03/19 20:45
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret

Secure Coding : 입력 데이터 검증 및 표현 (02) Resource Injection :: 2021/02/02 15:31

<02. Resource Injection : 리소스 주입>


발생 원인 : 외부 입력값이 내부 자원에 대한 식별자가 되는 환경에서 입력값에 대한 검증이 없을 경우 발생

영향 : 시스템 내부 자원 접근, 수정, 자원 간의 충돌 발생


Bad Code : Servie No 대한 입력값 검증이 없음

public void createSocket() throws IOException {


   int def = 1000;

   ServerSocket serverSocket;

   Properties props = new Properties();

   String fileName = "file_list";

   FileInputStream in = new FileInputStream(fileName);

   props.load(in);


   //외부 입력 데이터

   String service = props.getProperty("Service No");

   int port = Integer.parseInt(service);


   //외부 입력 데이터로 소켓 생성

   if (port != 0) {

      serverSocket = new ServerSocket(port + 3000);

   }

   else {

      serverSocket = new ServerSocket(def + 3000);

   }

   ......

}


Good Code : 외부 입력값에 대한 기본적인 검증 후, 적절한 값을 할당

public void createSocket() throws IOException {


   int def = 1000;

   ServerSocket serverSocket;

   Properties props = new Properties();

   String fileName = "file_list";

   FileInputStream in = new FileInputStream(fileName);


   //외부 입력 데이터

   String service = "";

   if (in != null && in.available() > 0) {

      props.load(in);

      service = props.getProperty("Service No");

   }


   //외부 입력 데이터 검증

   if ("".equals(service)) {

      service = "1";

   }


   int port = Integer.parseInt(service);

   //외부 입력 데이터에 따른 포트번호 설정

   switch(port) {

      case 1: def + 1; break;

      case 2: def + 2; break;

      case 3: def + 3; break;

      case 4: def + 4; break;

      default: port = def;

   }


   //검증 완료된 포트로 소켓 생성

   serverSocket = new ServerSocket(port);

   ......

}

2021/02/02 15:31 2021/02/02 15:31
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret
< PREV |  1  |  2  |  3  |  4  |  5  |  6  |  ...  214  |  NEXT >