1대의 개발PC에서

여러 대의 Server 환경을 구축하고자 할 때 VirtualBox를 이용하곤 한다.

 

VirtualBox

 

Kubernetes 실습 환경을 구축하기 위해서

master 1대 + worker 2대 = 총 3대의 Ubuntu Server 머신이 필요한 경우를 생각해보자.

 

개인적인 취향으로 Ubuntu를 애용하는데,

Ubuntu를 설치하고 나면 locale 설정, timezone 설정 等 나름 여러가지로 셋팅을 할 것들이 많다.

 

그렇게 우선 master 역할을 할 1대의 Ubuntu Server를 셋팅을 했다고 해보자.

- https://www.whatwant.com/entry/Ubuntu-Server-2204-LTS

 

이제 worker 역할을 할 2대의 Ubuntu Server를 만들어야 하는데,

다시 또 OS 설치하고 셋팅하는 과정을 반복해야하는 것은 너무나 비효율적인 것 같다.

 

그래서 VirtualBox의 머신 복제 기능을 이용해보고자 한다.

 

복제

 

좀 더 많은 정보를 보려면 "전문가 모드"를 선택하면 된다.

원하는 머신 이름과 경로(Path)를 입력하고, MAC 정책은 새로운 MAC 주소 설정을 하도록 하자.

 

설정

 

이걸로 준비는 끝났다.

"Finish"를 눌러주면 복사가 이뤄진다. 생각보다 오래걸린다(개인적인 PC 환경 차이일 수도 있다^^).

 

Finish

 

이것으로 끝났을까!? 아니다!!!

일단 시작해서 부팅해보자.

 

부팅

 

여기에서 어떤 것이 문제가 될 수 있는지 찾아보기 바란다! ^^

 

$ hostname

master

 

그렇다! 원본과 같은 hostname을 쓰고 있다.

그러면 바꿔주면 된다 ^^

 

$ sudo hostnamectl set-hostname worker01

$ hostname

worker01

 

여기까지~

 

반응형

 

간만에 Server 버전을 설치해야할 상황이 생겨서 기록을 남겨보고자 한다.

 

https://ubuntu.com/download/server

 

현재 정확한 버전은 22.04.02 LTS 이다.

Server 버전임에도 용량이 1.8GB 라니 .... 대박이구만...

 

일단 아래 과정은 Windows 10 Host 환경의 VirtualBox 7.0.6 버전에서 진행을 했다.

 

운영체제는 Ubuntu (64-bit) 로 선택해야 한다.

 

VirtualBox - OS

 

지금 필요로 하는 환경이 낮은 Spec이어야 해서 2GB 메모리로만 설정을 했고,

core가 2개 이상이어야 해서 일단 2개로 선택했다.

 

VirtualBox - HW

 

디스크 용량은 어짜피 동적 용량이기에 조금은 여유있게 설정해주는 것이

혹시 모를 나중에 대비해 바람직한 선택이다.

 

VirtualBox - HDD

 

네트워크 설정은 "NAT"를 선택하는 것이 일반적이지만,

여기에서는 "어댑터에 브리지"를 선택해서 Host와 동일한 레벨에서 IP를 받을 수 있도록 하겠다.

(집에서 공유기를 쓰는 환경이라고 하면 공유기로부터 IP를 직접 받도록 하는 것)

 

VirtualBox - Network

 

이제 다운로드 받은 Ubuntu Server ISO 이미지를 등록해서 부팅 및 설치를 진행하자.

별도로 설명하지 않은 부분은 기본 설정으로 진행한 것이다.

 

Ubuntu Server

 

IP도 잘 받아온 것을 볼 수 있다.

 

IP

 

기본이 LVM 이다. 흐음... 그냥 가자.

 

LVM

 

기본 설정은 free 공간을 두는데, 그냥 전체를 다 사용하는 것으로 변경해보자.

 

Before

 

ubuntu-lv 설정을 아래와 같이 잡아주면 된다.

 

edit

 

after

 

OpenSSH server 설치는 필수다!!!

 

OpenSSH server

 

설치가 끝나면 Close 해줘야 한다.

 

Close

 

재부팅 하면 아래와 같이 에러 화면이 나오기도 한다.

걱정하지 말자.

 

cloud-init

 

엔터 한 번 치고

앞에서 입력한 계정 및 패스워드 치면 로그인 된다.

 

login

 

기분 나쁘게 에러 발생한 패키지부터 삭제하자

 

$ sudo apt purge cloud-init

 

sudo 했을 때 패스워드 입력하는게 기분나쁘니(?) 해결하자.

 

$ sudo visudo

 

제일 밑에 아래와 같이 (각자 계정으로) 입력해놓고 저장하면 된다.

 

whatwant ALL=(ALL) NOPASSWD:ALL

 

패키지 전체적으로 업데이트 및 업그레이드 하자.

 

$ sudo apt update

$ sudo apt upgrade

 

아래와 같은 화면이 나올 수 있는데, 그냥 바로 OK 하자.

 

 

필요 없는 것들 지우고 깔끔히 재부팅하자.

 

$ sudo apt autoremove

$ sudo reboot

 

 

Server에서 굳이 한글이 필요할까 싶지만, 그래도 세종대왕님을 생각하며...

 

$ sudo apt install language-pack-ko

$ sudo locale-gen ko_KR.UTF-8

$ sudo dpkg-reconfigure locales

$ sudo update-locale LANG=ko_KR.UTF-8 LC_MESSAGES=POSIX

 

locale

 

네트워크 관련 도구들을 사용하기 위해 net-tools 패키지를 설치하자.

 

$ sudo apt install net-tools

 

많이 쓰는 git 패키지도 설치하고, 기본 환경 설정까지 해놓자.

 

$ sudo apt install git

$ git config --global user.name "whatwant"
$ git config --global user.email "whatwant@gmail.com"

 

우리는 한국에 살고 있으니, TimeZone을 맞춰보자.

 

$ sudo timedatectl

               Local time: 금 2023-04-14 16:14:51 UTC
           Universal time: 금 2023-04-14 16:14:51 UTC
                 RTC time: 금 2023-04-14 16:14:51
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

 

정확한 TimeZone 명칭을 확인해보고,

 

$ sudo timedatectl list-timezones | grep Seoul

Asia/Seoul

 

설정해주면 된다.

 

$ sudo timedatectl set-timezone Asia/Seoul

$ sudo timedatectl

               Local time: 토 2023-04-15 01:16:05 KST
           Universal time: 금 2023-04-14 16:16:05 UTC
                 RTC time: 금 2023-04-14 16:16:05
                Time zone: Asia/Seoul (KST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

 

심지어 "System clock synchronized: yes"라고 되어있는 것을 보면 시간 동기화 설정도 이미 되어있다!

 

 

 

개인적인 취향에 따른 설정도 추가적으로 해보자.

 

vi를 싫어하고 nano를 사용하기에 nano 기본 설정값을 넣어보겠다.

 

$ nano ~/.nanorc

 

tab을 공백 4칸으로 설정하는 것이다.

 

set tabsize 4
set tabstospaces

 

root 권한으로 사용하는 경우, 특히 sudo 사용할 때를 위해서 추가적으로... (내용은 동일)

 

 $ sudo nano /root/.nanorc

 

 

지극히 개인적인 취향으로 작업 공간 설정도 해놓겠다.

 

$ sudo mkdir /srv/workspace
$ sudo mkdir /srv/install

$ sudo chown whatwant:whatwant /srv/workspace/
$ sudo chown whatwant:whatwant /srv/install/

 

Server 환경이니만큼 굳이 zsh 등까지는 설치하지 않겠다.

 

 

추가적으로 VirtualBox Guest-Additions를 설치해보자.

GUI 환경이 없기에 생략할 수도 있긴 한데.... 그래도 성능 향상이 있다고 하니 해보자.

 

게스트 확장 CD 이미지

 

우리는 지금 Server 버전의 Ubuntu이기에 직접 마운트 작업을 해줘야 한다 ^^

 

$ sudo mkdir /media/cdrom

$ sudo mount /dev/cdrom /media/cdrom

 

해당 디렉토리로 이동해보자.

 

$ cd /media/cdrom/

$ ls -al

total 41763
dr-xr-xr-x 5 root root     2570  1월 12 01:28 .
drwxr-xr-x 3 root root     4096  4월 15 13:40 ..
-r--r--r-- 1 root root     1049  8월 23  2022 AUTORUN.INF
dr-xr-xr-x 2 root root     1252  1월 12 01:28 NT3x
dr-xr-xr-x 2 root root     2828  1월 12 01:28 OS2
-r--r--r-- 1 root root      592  1월 12 01:28 TRANS.TBL
-r--r--r-- 1 root root  2202917  1월 11 23:38 VBoxDarwinAdditions.pkg
-r-xr-xr-x 1 root root     4225  1월 11 23:35 VBoxDarwinAdditionsUninstall.tool
-r-xr-xr-x 1 root root  5968312  1월 11 23:36 VBoxLinuxAdditions.run
-r--r--r-- 1 root root  9332736  1월 11 23:38 VBoxSolarisAdditions.pkg
-r-xr-xr-x 1 root root 15755216  1월 12 01:27 VBoxWindowsAdditions-amd64.exe
-r-xr-xr-x 1 root root  9227840  1월 12 01:08 VBoxWindowsAdditions-x86.exe
-r-xr-xr-x 1 root root   243728  1월 11 23:38 VBoxWindowsAdditions.exe
-r-xr-xr-x 1 root root     6849  1월 11 23:35 autorun.sh
dr-xr-xr-x 2 root root     1468  1월 12 01:28 cert
-r-xr-xr-x 1 root root     5097  1월 11 23:35 runasroot.sh
-r--r--r-- 1 root root      259 10월  2  2021 windows11-bypass.reg

 

Guest-Additions를 설치하기 위해서 필요한 패키지들을 먼저 설치해줘야 한다.

 

$ sudo apt install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r)

 

이제 설치를 진행하면 된다.

 

$ sudo ./VBoxLinuxAdditions.run

 

무슨 이상한 에러메시지가 나올 수 있으나 쫄지 말자.

GUI 환경이 없기에 발생하는 것이다.

 

재부팅하고 잘 설치되었는지 확인까지 해보자.

 

$ sudo reboot

---

$ lsmod | grep vbox

vboxguest             434176  0

$ modinfo vboxguest

filename:       /lib/modules/5.15.0-69-generic/misc/vboxguest.ko
version:        7.0.6 r155176
license:        GPL
description:    Oracle VM VirtualBox Guest Additions for Linux Module
author:         Oracle and/or its affiliates
srcversion:     55B45B43FE1759D12174E93
alias:          pci:v000080EEd0000CAFEsv00000000sd00000000bc*sc*i*
depends:
retpoline:      Y
name:           vboxguest
vermagic:       5.15.0-69-generic SMP mod_unload modversions

 

여기까지~ 끝~

반응형

 

리눅스를 CLI 방식으로 원격 접속하는 것은 비교적 쉽다.

`openssh-server` 설치 후에 사용자 계정으로 접속하면 끝이다.

 

그런데, 리눅스에서 GUI 방식으로 접속하는 것은 쉽지 않다.

 

Windows 환경에서는 원격데스크탑(mstsc) 이용하면 끝인데,

리눅스에서는 뭔가를 설치하고 설정을 해줘야 한다.

 

프로그램의 선택지도 다양하다.

- TightVNC

- RealVNC

- TeamViewer

- xrdp

- https://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software

 

 

그런데, Windows에서의 원격데스크탑은

본래 사용하고 있던 화면 그대로의 모습으로 작업하던 세션 그대로 연결이 되는데

위에서 언급한 대부분의 리눅스 원격데스크탑 도구들은 그렇지가 않다.

 

그러던 중 알게된 vino

다른 사람들은 다 알고 있었는데, 나만 몰랐나!?

구글 검색을 해보니 아직 그다지 많은 자료가 없는 것으로 보아 아직 유명하지는 않은 것 같다.

 

 

 

1. Install

  - 기본 설치되어 있다. 혹시 모르니 그래도 한 번 더 확인!

❯ sudo apt install vino

패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
패키지 vino는 이미 최신 버전입니다 (3.22.0-3ubuntu1.2).
vino 패키지는 수동설치로 지정합니다.
0개 업그레이드, 0개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.

 

2. Settings

  - 기본 설정 화면에서 확인할 수 있다.

  - 암호 설정을 하면 된다.

  - 하지만, 암호 길이 제한일 비롯해서 추가적인 설정을 하려면 `dconf-editor`가 필요하다.

 

 

3. dconf-editor

  - 마찬가지로 설치는 쉽다.

❯ sudo apt install dconf-editor
  
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음 새 패키지를 설치할 것입니다:
  dconf-editor
0개 업그레이드, 1개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.

  - 설치한 dconf-editor를 실행하자.

  - `/org/gnome/desktop/remote-access` 파일을 편집하자

  - `require-encryption` 항목을 꺼주자. 보안상 문제의 여지가 있지만 이 부분은 좀 더 알아보기로 하고...

  - 만약 password를 8자 이상 사용하고 싶으면 base64 encoding 해서 `vnc-password` 항목에 넣어주면 된다.

 

 

4. VNC Viewer

  - 사용하지 않았던 것으로 해보련다.

    . ultraVNC - https://uvnc.com/

  - Viewer로만 사용할거니 그에 맞게 설치하면 된다.

 

 

5. Connect

  - 이제 연결할 일만 남았다.

  - IP만 쓰고 Connect 하면 된다. 세부 옵션을 사용하고 싶으면 `Show Options`

  - 앞에서 입력해놓은 패스워드 사용

  - 정말 원하는대로 나온다!!!

 

 

정말 손쉽게 사용할 수 있다. 강추 !!!

 

반응형

 

# Portainer ?

  - `Docker 관리를 위한 GUI 도구`로 시작해서 지금은 K8s, Azure ACI에 대한 지원까지 확장되고 있다.

  - https://www.portainer.io/

 

 

# 설치 환경

  - Ubuntu 20.04, Docker 20.10.12

❯ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal

❯ docker --version
Docker version 20.10.12, build e91ed57

 

 

# Install Portainer with Docker on Linux

  - Reference: https://docs.portainer.io/v/ce-2.11/start/install/server/docker/linux

 

① create volume

  - portainer에서 사용할 volume을 생성하고 잘 생성되었는지 확인해보자

❯ docker volume create portainer_data
portainer_data

❯ docker volume ls
DRIVER    VOLUME NAME
local     portainer_data

 

② install portainer

  - docker를 이용해 portainer를 설치하고 결과까지 확인해보자

❯ docker run -d -p 8000:8000 -p 9443:9443 --name portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ce:2.11.0
Unable to find image 'portainer/portainer-ce:2.11.0' locally
2.11.0: Pulling from portainer/portainer-ce
0ea73420e2bb: Pull complete 
c367f59be2e1: Pull complete 
b71b88d796e2: Pull complete 
Digest: sha256:4f126c5114b63e9d1bceb4b368944d14323329a9a0d4e7bb7eb53c9b7435d498
Status: Downloaded newer image for portainer/portainer-ce:2.11.0
92f2bb51b10e3eb9bb09dd7f1731abd8796a8e1611cd42ef1d30b472472d7e13

❯ docker ps
CONTAINER ID   IMAGE                           COMMAND        CREATED          STATUS          PORTS                                                                                            NAMES
92f2bb51b10e   portainer/portainer-ce:2.11.0   "/portainer"   39 seconds ago   Up 25 seconds   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp, 9000/tcp   portainer

 

③ login

   - `https://localhost:9443` 또는 `https://IP:9443` 주소를 통해 웹 접근 해보자

비공개

  - 인증서 문제로 위와 같은 화면이 나오는데, `고급` 버튼을 누르고 `192.168.100.100(안전하지 않음)` 클릭!

passwd

  - 그리고, 관리자 패스워드 설정을 진행하면 된다

Get Started

  - 다른 서버도 같이 관리할 수 있지만, 지금 우리는 local만 관리할 것이기 때문에 `Get Started`를 클릭하면 된다

Home

  - local 밖에 없으니 하나 밖에 보이지 않는 것이 당연하고, `local`을 클릭해보자

local

 

너무나 깔끔하고 좋다~

 

반응형

 

이것 저것 보다가 우연히 발견한

새로운 에디터가 있어서 한 번 설치해보고 써보고자 한다.

 

https://micro-editor.github.io/

 

https://micro-editor.github.io/

https://github.com/zyedidia/micro

 

 

micro text editor

 

이름이 나쁘지는 않은 것 같은데,

일반 명사를 사용하다보니 구글링과 같은 검색을 할 때 원하는 결과를 얻기가 쉽지 않다.

 

 

Features

nano, vi, vim 등의 훌륭한 기본 에디터들이 있음에도 불구하고

굳이 `micro text editor`를 써야 하는 이유가 뭘까!?

 

- Easy to Use
- Highly Customizable
- Colors and Highlighting
- Multiple Cursors
- Plugin System
- Common Keybindings
- Mouse Support
- Terminal Emulator

 

 

뭐 좋은거 같다 ^^

 

 

 

Environments

이하 내용을 진행한 환경은 다음과 같다.

 

- Ubuntu 18.04 Desktop

 

 

 

Download

- 최신 버전 확인 후에 다운로드 부터 받아보자

   . https://github.com/zyedidia/micro/releases/

❯ wget https://github.com/zyedidia/micro/releases/download/v2.0.10/micro-2.0.10-amd64.deb

 

 

Install

- 설치도 쉽다~

❯ sudo dpkg --install micro-2.0.10-amd64.deb

 

 

 

Execute

- 실행도 쉽다~

❯ micro

micro

 

도움말을 호출하자!

`Ctrl + g` 키를 누르면 된다.

 

help

 

command 명령어를 입력하기 위한 prompt 모드 전환을 위해서는 `Ctrl + e`를 누르면 된다.

단축키를 알아보기 위해서 `help defaultkeys`를 타이핑해보자.

 

prompt

 

 

윗 창과 아랫 창을 왔다 갔다 하기 위해서는 `Ctrl+w`를 누르면 되고,

현재 위치의 창을 닫기 위해서는 `Ctrl+q`를 누르면 된다.

 

 

 

plugins

그렇다. micro editor는 plugin도 지원한다.

 

https://micro-editor.github.io/plugins.html

 

설치법도 친절하게 알려준다

plugin install

 

반응형

 

최근 업무나 공부를 하면서 CSV 타입의 파일을 사용하는 경우가 종종있다.

 

단순한 텍스트 형식의 파일이므로 메모장 같은 Viewer를 이용하거나

CLI 환경에서는 `cat` 명령어만으로도 내용을 확인할 수 있기에 편리하긴 하지만...

 

그냥 일반적은 텍스트 파일 처럼 보게 되면

데이터를 살펴보기에 불편하긴 하다.

 

 

1. Download CSV

  - 테스트 해보기 위해 CSV 파일 하나를 다운로드 받아놓자

$ wget https://web.stanford.edu/class/archive/cs/cs109/cs109.1166/stuff/titanic.csv

 

 

2. Basic

  - 보통 `cat` 형식으로 해당 파일을 보면 이렇다.

$ cat titanic.csv

 

3. Tidy Viewer (tv)

  - CSV 형식의 파일을 예쁘게 출력해주는 아이가 있다.

    - https://github.com/alexhallam/tv

 

  - Ubuntu 환경을 위해 deb 패키지를 제공해준다.

 

    ① Version Check

      - 현재 사용할 수 있는 버전을 확인해보자

        . https://github.com/alexhallam/tv/releases

 

    ② Download

$ wget https://github.com/alexhallam/tv/releases/download/0.0.21/tidy-viewer_0.0.21_amd64.deb

 

    ③ Install

$ sudo dpkg --install tidy-viewer_0.0.21_amd64.deb

 

    ★ 오류

      - Ubuntu 18.04 환경에서 아래와 같은 설치 오류가 발생했다.

      - 관련 이슈는 아래와 같이 reporting 되어 있다.

        . https://github.com/alexhallam/tv/issues/52

 

      - 일단 깨끗하게 오류난 패키지 설치 과정을 청소하자.

$ sudo dpkg --purge tidy-viewer

 

      - 위 이슈에서 제안한 해결 방법으로 설치를 해보자

$ sudo snap install --edge tidy-viewer

 

    ④ alias

      - 편한 사용을 위해 alias 설정까지 해보자

        . bashrc

$ echo "alias tv='tidy-viewer'" >> ~/.bashrc
$ source ~/.bashrc

        . zshrc

$ echo "alias tv='tidy-viewer'" >> ~/.zshrc
$ source ~/.zshrc

 

4. tv

  - 이제 예쁘게 잘 보이는지 확인해보자

$ tv titanic.csv

 

  - 에휴... 오류다.

 

  - 다음 처럼 하면 잘 된다

$ cat titanic.csv | tv

 

 

어?! 이쁘고 깔끔하다!

 

 

설치할 때 문제가 좀 있었고, 사용할 때에도 좀 불편한 점이 있긴한데... 이쁘다!

 

Ubuntu 20.04에서 해보면 문제 없이 사용할 수도 있을 것 같은데...

20.04 환경까지 켜서 확인해보긴 지금 귀찮아서 ^^

 

 

조금 더 지켜보고 내 기본 사용환경에 포함시키는 방향으로 해봐야겠다 !

 

 

반응형

 

대! 한! 민! 국! 짜자자 짝!짝!

 

기본으로 제공되는 Ubuntu Docker Image는

우리에게 아름다운 한글을 제대로 지원해주지 않는다.

 

그래서 지금부터는 한글을 제대로 지원해주는 Ubuntu Docker Image를 만들어 보고자 한다.

 

 

0. 작업 환경

  - Ubuntu 18.04 Desktop

 

 

1. Docker 설치하기

  - 아래 링크를 참조하면 좋고~ 아니면 아래 과정을 주르륵 따라가도 좋다.

    . https://www.whatwant.com/entry/Docker-Install-Ubuntu-Server-2004

 

$ cd /srv/install
$ mkdir docker
$ cd docker

$ wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/containerd.io_1.4.8-1_amd64.deb
$ wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce-cli_20.10.7~3-0~ubuntu-focal_amd64.deb
$ wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce_20.10.7~3-0~ubuntu-focal_amd64.deb

$ sudo dpkg --install ./containerd.io_1.4.8-1_amd64.deb
$ sudo dpkg --install ./docker-ce-cli_20.10.7~3-0~ubuntu-focal_amd64.deb
$ sudo dpkg --install ./docker-ce_20.10.7~3-0~ubuntu-focal_amd64.deb

$ sudo usermod -aG docker $USER

로그아웃 후 로그인
(Ubuntu Desktop에서 로그아웃으로 안되어서 재시작해버렸음)

$ docker run hello-world

$ nano ~/.zshrc
plugins=(... docker docker-compose)

 

  - 마지막 부분은 개인적으로 zsh을 사용하고 있기에... 자동 완성 기능을 추가해보았다.

 

 

2. Ubuntu Docker Image - 기본

  - 개인 취향으로 기본 패키지들을 조금 더 추가하는 것으로 Dockerfile을 다음과 같이 만들어 봤다.

 

FROM ubuntu:18.04

RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y \
        nano \
        git \
        curl \
        htop \
        man \
        openssh-client \
        sudo \
        wget \
        procps \
        lsb-release

 

  - 위 내용을 `Dockerfile.default` 파일명으로 저장한 뒤 build 하고 run 해보자.

 

host$ docker build -t ubuntu:default -f Dockerfile.default .

host$ docker run -it ubuntu:default bash

 

  - 텍스트 파일을 하나 만들어서 한글을 입력해보자. (물론 제대로 출력이 안되는 것이 정상이다)

 

default$ cd

default$ nano noname.txt

 

 

3. Ubuntu Docker Image - 한글 지원

  - 이번에는 한글을 지원해줄 수 있는 Dockerfile을 작성해 보자.

 

FROM ubuntu:18.04

RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y \
        nano \
        git \
        curl \
        htop \
        man \
        openssh-client \
        sudo \
        wget \
        procps \
        lsb-release

RUN apt-get install -y apt-utils locales
RUN locale-gen ko_KR.UTF-8
ENV LC_ALL ko_KR.UTF-8

 

  - 아래 부분만 추가해서 `Dockerfile.ko_KR` 파일명으로 저장하고 진행해보자

 

host$ docker build -t ubuntu:ko_KR -f Dockerfile.ko_KR .

host$ docker run -it ubuntu:ko_KR bash

 

  - 똑같이 한글이 써지는지 테스트해보자.

 

ko_KR$ cd

ko_KR$ nano noname.txt

 

  - 이번에는 당연히 한글이 잘 써질 것이다!!!

 

 

Ubuntu 자체가 가벼운 이미지가 아니긴 하지만...

그래도 편한 맛에 사용한다고 하면 한글 지원이 필요할 때 참고하면 좋을 듯 하다.

반응형

'잘난놈되기' 카테고리의 다른 글

NFS Server 설치 (Ubuntu 18.04/20.04)  (3) 2021.09.21
kubectl 설치 (in Ubuntu)  (0) 2021.08.30
bpytop 설치 (Ubuntu 18.04)  (0) 2020.12.31
하드디스크 용량 분석 (SpaceSniffer)  (0) 2020.12.28
Docker Hub 활용  (0) 2020.11.14

 

매번 귀찮게 찾는 것이 귀찮아서 정리하고자 포스팅 해본다.

 

 

1. Python3 설치하기

$ sudo apt install python3 python3-pip

 

2. update-alternative 설정하기

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
$ sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1

 

3. select

$ sudo update-alternatives --config python
$ sudo update-alternatives --config pip

 

아~ 속 시원하다~!!

반응형

+ Recent posts