본문 바로가기

공부/Linux

(8)
[Linux] 4. Docker Network Docker Network를 설명하는 글이다.Window에서 Ubuntu를 사용한다. Docker Network란 도커 컨테이너끼리 통신할 수 있게 해주는 가상 네트워크다. 컨테이너는 각각 독립된 공간에서 돌아가지만 여러 컨테이너가 서로 통신해야 되는 경우가 생길 수 있다. 이 경우 도커 네트워크를 통해 연결해주면 된다. 컨테이너끼리 서로를 이름으로 인식하고 통신할 수 있게 된다. 도커 네트워크를 설정할 수 있는 방법은 6가지가 있다. Bridge, None, Host, IPvlan, Macvlan, Overlay가 있다. sudo docker network ls 설치되어 있는 도커 네트워크를 보여준다. bridge, host, none이 기본적으로 설치되어 있다. ip addr 네트워크 인터페이스..
[Linux] 3. Docker Volume Docker Volume에 대해 설명하는 글이다.Window에서 Ubuntu를 사용한다. 도커 컨테이너를 삭제할 경우 컨테이너에 저장했던 데이터들도 전부 삭제된다. 따라서 이를 영구적으로 저장하기 위해 Docker Volume을 사용한다. Docker Volume은 컨테이너가 데이터를 영구적으로 저장할 수 있는 공간으로 컨테이너가 삭제되더라도 데이터를 유지할 수 있도록 해준다. sudo docker volume create 이름 해당 이름을 가진 도커 볼륨을 생성한다. sudo ls /var/lib/docker/volumes 생성한 도커 볼륨을 확인할 수 있다. 해당 디렉터리 안에 볼륨들이 생성이 된다. sudo docker volume list 생성한 도커 볼륨을 확인할 수 있다. sudo ..
[Linux] 2. Docker 컨테이너에 Apache 서버를 설치하기 sudo docker run -it --name webserver -p 80:80 ubuntuDocker 컨테이너에 apache 서버를 설치하는 방법을 설명하는 글이다.Window에서 Ubuntu를 사용한다. Apache 서버란 웹사이트를 클라이언트(브라우저)에 전달해주는 웹 서버 프로그램이다. 예를 들어 사용자가 브라우저에 접속을 하려고 하면 Apache가 그 요청을 받아서 HTML, CSS, JS와 같은 웹페이지 파일을 찾아 사용자에게 돌려주는 역할을 한다. sudo docker run -it --name webserver -p 8080:80 ubuntu -p 8080:80: 포트포워딩 - [호스트 포트]:[컨테이너 포트]이다. 내 컴퓨터의 8080번 포트를 이 컨테이너 안의 80번 포트와 연결하..
[Linux] 1. Docker 기본 명령어 Docker의 기본 명령어를 설명하는 글이다.Window에서 Ubuntu를 사용한다. 설치, 환경설정을 매번 해줄 필요 없이 세팅을 할 수 있게 도와주는 Docker Container에 대해서 알아보자. Container란 개발한 프로그램을 위해 필요한 모든 것을 담고 있는 것이다. 보통 VMware를 사용해서 가상환경을 구성해서 다수의 VM (컴퓨터)를 만들 수 있다. 그러나 이 경우 각각의 VM에 OS를 설치해야 하므로 많은 하드웨어 자원을 소모하게 된다. 이를 경량화한 게 Container이다. 각각의 컨테이너는 OS를 가지지 않으며 물리적인 호스트에 있는 OS 자원을 공유하여 사용한다. 하나의 컴퓨터처럼 쓸 수 있지만 OS를 설치하지 않으므로 VM보다 가볍다는 장점이 있다. 물론, 각 어플리케이..
[Linux] 셸 스크립트 작성하기 리눅스 환경에서 셸 스크립트를 작성하는 방법을 설명하는 글이다.Window에서 Ubuntu를 사용한다.   예시 코드를 통해 셸 스크립트를 작성해보자. touch name.sh name.sh를 만든다.touch: 파일이 없으면 빈 파일을 생성하고 파일이 있으면 파일의 최종 수정 시간을 현재 시간으로 변경  vi name.sh 텍스트 편집기를 연다. i를 눌러 편집 모드에 들어가 아래 코드를 작성해준다.  #!/bin/shecho "사용자 이름: " $USERecho "홈 디렉터리: " $HOMEexit 0 #!/bin/sh: 첫 행에 반드시 써야 하며, 특별한 형태의 주석(#!)으로 배시셸을 사용하겠다는 의미echo "사용자 이름: " $ USER: echo는 화면에 출력하는 명령어로 '사용자 이름: $..
[Linux] 리눅스 환경에서 c 파일 컴파일 후 실행하기 리눅스 환경에서 c 파일 컴파일 후 실행하는 방법을 설명하는 글이다.Window에서 Ubuntu를 사용한다.      vi main.c main.c 파일을 만들어준다. i를 눌러 편집 모드로 들어간 뒤 아래 C 코드를 입력해준다. 해당 C 코드를 실행해보겠다. 입력이 끝났으면 Esc->:wq->Enter을 눌러서 터미널로 돌아오자.#include void main(){ printf("Hello, World!\n");}  리눅스 환경에서 C 파일을 컴파일 하기 위해서는 GCC가 필요하다. GCC (GNU Compiler Collection)는 C, C++ 등 다양한 프로그래밍 언어를 컴파일할 수 있는 컴파일러이다. 주로 C 언어 컴파일러로 많이 사용된다. GCC를 다운받아보자.  sudo apt updat..
[Linux] Bash Shell을 Zsh Shell로 바꾸기 Bash Shell을 Zsh Shell로 바꾸는 방법을 설명하는 글이다.Window에서 Ubuntu를 사용한다.  echo $SHELL 현재 사용자에게 설정된 기본 셸의 경로를 나타낸다. bash로 나온다면 현재 Bash Shell인 것이다.  sudo apt install wget curl git 패키지를 설치하는 명령어이다.wget: 파일 다운로드를 위해 사용되는 명령어curl: 서버와의 데이터 전송을 위한 명령어  sudo apt install zsh zsh를 설치한다.  chsh -s $(which zsh) shell을 변경한다.Ctrl+D를 눌러 터미널을 빠져나온다. 다시 켜서 셸의 경로를 확인해보면 zsh Shell로 바뀐 것을 볼 수 있다. 다시 bash로 재변경을 하고 싶으면 아래 명령어를..
[Linux] 리눅스 명령어 정리 리눅스 명령어 정리한 글이다.Window에서 Ubuntu를 사용한다.  기본 명령어 sudo su su: 관리자 (root) 유저로 바뀜 (switch user)  su user user로 유저가 바뀜. 관리자 계정이므로 sudo를 칠 필요가 없음  sudo passwd user 비밀번호 재설정  ls ls: 현재 디렉터리가 나옴(list), 뒤에 옵션을 넣을 수 있음/etc/systemd: /etc/systemd 디렉터리의 목록을 보여줌-l: 현재 디렉터리의 목록을 자세히 보여줌. 권한, 생성시간 등-al: 숨김파일(.으로 시작하는 폴더)까지 보여줌    파일 권한이 표시되는 순서: [파일유형] [사용자 권한] [그룹 권한] [기타 권한]    d: 디렉터리 파일    rw: read & write 권..