목록전체 글 (282)
내 잡다한 노트
apt를 업데이트하는데 disco Release does not have a Release file 이라고 에러가 뜨는 경우엔 그 리눅스 버전이 오래되서 그렇다고 한다. 그래서 /etc/apt/sources에 들어가 sources.list file을 수정해야한다. deb http://old-releases.ubuntu.com/ubuntu disco main restricted deb http://old-releases.ubuntu.com/ubuntu disco-updates main restricted deb http://old-releases.ubuntu.com/ubuntu disco-security main restricted 뒤에 disco main restricted로 구별해서 archive. 이..
네트워크 실습에서 Dockerfile로 이미지를 빌드하는 것을 해야한다. 그래서 관련 내용을 정리해서 포스팅하려한다. 금방 까먹을 것 같다. Dockerfile Docker 이미지를 빌드하기 위한 설정파일. 즉, 이미지를 만드는 스크립트(설정파일)이다. 여러가지 명령어를 토대로 Dockerfile을 작성한 후 빌드하면 나열된 명령문을 차례대로 수행하여 이미지를 생성한다. 장점에 대해 찾아보니... - 장점 1. 이미지가 어떻게 만들어졌는지를 기록한다. 개발자라면 이미지가 설치 되기 위한 과정은 어떤지, 중간에 어떤 과정을 수정해야하는지를 알아야 하는 경우가 있다. 2. 배포에 용이하다. 이미지는 몇 기가씩 할 수 있는데 그걸 배포하기보다는 그 이미지를 만들 수 있는 Dockerfile만 배포한다면 매우 ..
과제로 리눅스를 사용해야해서 바탕화면에 있는 버츄얼 박스 실행파일을 클릭했는데 위 제목과 같은 에러가 떴다. 아래 방법은 내가 구글링을 하며 시도해본 방법들이니 참고하시길 바란다. 1. Visual studio C++ 2013버전 재배포 패키지 다시 깔기 구글링을 하니 가장 먼저 보이는 포스팅에서 이 방법을 알려주었다. 나는 이것때문에 고쳐지진 않았지만... 이 방법도 해보면 좋을 것 같다. 2. cmd를 관리자모드로 실행해서 sfc /scannow 입력 Windows 명령어라 Mac은 잘 모르겠다. 어쨌든 cmd에 똑같이 치게되면 복구를 시작한다. sfc가 System File Checker의 약자이다. 말그대로 시스템 파일중에 오류가 난 부분을 탐지하고 복구를 해주는 명령어다. 나는 이 2번 방법을 ..
TCP/IP 네트워크 상에서 컴퓨터들이 파일을 교환하기 위해 만들어진 프로토콜로, 네트워크에 연결된 컴퓨터끼리 데이터를 원활하게 교환하기 위한 목적으로 개발되었다. FTP는 비밀번호가 평문으로 전송되어 보안성이 매우 덜어져서 FTPS(FTP over TLS)를 쓰는게 좋다. 평문이란, 암호화되지 않은, 원래의 형태 그대로의 텍스트 또는 데이터를 의미한다. 원본 그자체라는 것. SFTP(SSH FTP)의 경우 포트를 하나만 사용해서 방화벽이 설치된 환경에서 셋팅하기가 쉬워 초보자한테 권장되나, 프로토콜 구조상 PROT P를 사용한 FTPS보다 속도가 느리다. FTP와 FTPS는 제어용으로 21번 포트, 데이터 전송용으로 20번 포트를 사용한다. SFTP는 보통 22번 포트를 사용한다. FTP는 클라이언트-..
자주 쓰이는 command-line tools and shell utilities에 대해 공부해보고 작성할 것임. wget World Wide Web get의 약자이다. 웹 서버로부터 콘텐츠를 다운로드하기 위한 소프트웨어 유틸리티이다. HTTP, HTTPS, FTP 프로토콜을 지원하며, 재귀적 다운로드 기능이 있어서 함께 연결된 모든 리소스도 다운로드 할 수 있다. 그러니까 웹에 연결된 이미지나 파일 같은걸 다운로드 한다는것이다. 또한, POST 메소드를 할 수 있어서 웹사이트에 정보를 보낼수도 있다. 이것과 비슷한 기능을 하는 것이 curl 이다. curl wget과 같이 웹 서버로부터 콘텐츠를 다운로드하기 위한 도구이다. 주로 API와의 상호작용이나 웹 컨텐츠의 다운로드/업로드에 사용된다. 대부분의 ..
# Docker port mapping이 필요한 이유 docker 컨테이너 내의 application과 외부와 통신하기 위해 필요하다. 컨테이너는 기본적으로 격리된 환경에서 실행되기 때문에 외부와 소통하기 위해선 안쓰는 특정 포트를 매핑해야 외부와 통신이 된다. 수업에서 배웠던 것처럼 8080포트를 80포트와 맵핑시키면 외부에서 8080포트를 이용해 들어온 데이터들이 docker 컨테이너 내부에서 80포트로 바꿔주고 nginx 서버는 80포트에 온 데이터를 받아 처리하고 응답을 보내는 과정이 생기고 응답을 보낼땐 8080포트를 이용해 사용자에게 전달된다. # volume mapping이 필요한 이유 volume mapping이라는 개념이 잘 이해되지 않아 살펴보니 컨테이너의 파일 시스템과 호스트의 파일 ..
이 글은 계속 수정해 나갈듯 합니다. 틀리다면 지적 부탁드립니다. 도커파일 : 서버의 소프트웨어 구성, 환경설정 정보들을 코드로 바꿔놓은 파일 이미지: 도커파일을 빌드해서 생긴 결과물. 서버에 관한 설정들과 프로그램들이 패키지처럼 한 번에 포장된 것. 도커허브 사이트를 가면 여러 이미지가 있어서 그곳에서 편하게 관련 이미지들을 pull 할 수 있다. 쉽게 생각해서 템플릿 이라고 생각하면 된다. 컨테이너 : 이미지를 실행시킨 격리된 프로세스. 이미지가 클래스 같은 개념이고 컨테이너는 클래스의 인스턴스 같은 느낌이라고 생각하자. docker image : 로컬에 저장된 docker 이미지 목록을 보여준다 docker pull [image-name] : 원격 레지스트리(Docker hub)에서 이미지를 다운로..
조교님께서 요새 도커같은 가상화는 꼭 알고 있어야한다고 말씀하셔서 왜 굳이 도커를 써야하는지 궁금증이 생겼다. 그래서 웹서핑을 하던 도중 좋은 글을 봤고 실무에서 어떤 느낌으로 도커가 쓰이는지 이해하게 됐다. https://www.44bits.io/ko/post/why-should-i-use-docker-container 나와 같은 궁금증이 있으시다면 보시면 좋을 것 같다. 글을 읽고 도커를 쓰는 이유를 정리해보았다. 실무를 하다보면 여러 서버가 만들어지다보니 눈송이 서버들이 생긴다. 똑같은 일을 목적으로 만들었어도 사소하게 다른 부분들이 생기면 스노우볼이 굴러가서 A 서버에선 잘 돌아가는게 B 서버에선 안돌아가게 되는 미치고 팔짝 뛸 노릇이 생긴다고 한다. 이런 문제를 해결하기 위해 A 서버를 도커파일..