Windows 노트북에 우분투 가상환경을 만들기 위해 Docker를 사용해보기로 했다. 과정을 단계별로 정리한다.
WSL(Windows Subsystem for Linux)은 Microsoft에서 제공하는 Windows에서 리눅스 커널을 사용할 수 있게 해주는 기술이다. WSL 1과는 다르게 WSL 2는 Hyper-V 기반의 최신 가상화 기술을 이용하여 실제 리눅스 커널을 직접 탑재하였다. 이에 따라 모든 시스템 콜이 완벽하게 호환되며, 성능 또한 비약적으로 상승하였다.
WSL 2에서는 우분투의 루트 파일시스템이 ext4의 가상 하드디스크(ext4.vhdx)로 마운트되기 때문에, Windows의 File Explorer에서도 WSL에 설치한 우분투의 루트 파일시스템을 수정 및 확인하는 것이 가능하다는 뜻이다.
wsl --set-default-version 2
wsl -l -v
wsl
wsl
> docker --version
docker version
docker search ubuntu
docker pull ubuntu
docker images // 도커 엔진에 존재하는 이미지 목록을 출력
docker create -it --name ubuntu_server ubuntu
docker ps -a // 모든 컨테이너를 출력
docker start ubuntu_server
docker attach ubuntu_server
apt-get update
apt-get upgrade
sudo 설치
apt-get install -y sudo
사용자 계정 추가(사용자명 user)
adduser --disabled-password --gecos "" user \
&& echo 'user:user' | chpasswd \
&& adduser user sudo \
&& echo 'user ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
앞서, 도커 허브의 우분투 이미지는 순정이기 때문에 아무것도 없다고 말했었다. 따라서 우리가 설치한 우분투 컨테이너에는 코드 에디터 또한 없기 때문에 설치해주어야 한다.
apt-get update
apt-get install nano
apt-get install vim
GCC(GNU Compiler Collection)은 개발 도구 및 컴파일러 세트이다. 이러한 컴파일러 도구는 Windows, Linux 등 여러 운영체제와 같은 플랫폼에서 사용할 수 있다. GCC는 C, Objective C, C++, D, Go, Ada 및 Fortran과 같은 많은 프로그래밍 언어를 컴파일하는 데 사용할 수 있다.
apt-get update
apt install build-essential
gcc --version
gcc 설치가 완료되면, 간단한 C 프로그램을 만들어 컴파일러가 제대로 작동하는지 확인해보자. vim으로 코드를 작성한다.
vim hello.c
int main() {
print("Hello World!");
return 0;
}
gcc -o hello hello.c
./hello
Ubuntu에서 git을 쓸 때 GitHub login 때문에 복잡해지지 않도록 GitHub CLI를 설치한다.
type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&& sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -y
설치 후 gh auth login
명령으로 access token을 생성 혹은 설치한다.