전체 19

[Docker] private registry 구성 후 image push 하기

이번 포스팅은 폐쇄망 환경에서 사용할 수 있는 docker private registry를 구성해보겠습니다. 이미지 파일을 가져오기 위해서는 docker pull [이미지명] 명령어로 받을 수 있는데, 보통 docker hub에서 가져옵니다. 그런데 외부망으로 접근할 수 없는 폐쇄망에서는 docker hub에 있는 이미지 파일들을 가져올 수 없습니다. 따라서, 필요한 이미지들을 외부에서 다운 받은 후 docker save 명령어를 이용해서 tar파일로 변환하고, 폐쇄망 도커 환경에 해당 파일을 docker load 명령어를 이용해서 image로 변환 후에 밀어 넣어줘야 합니다. 그 후 private registry를 구성하여 해당 registry에 사용할 image를 push해서 private regis..

OpenSource/Docker 2022.01.24

Ubuntu에 Docker 설치하기

앞서 VMware에 Ubuntu까지 설치를 완료했다. 저는 Ubuntu 20.04.3 LTS 버전으로 설치했습니다. Docker 설치 curl -fsSL https://get.docker.com/ | sudo sh sudo 없이 Docker 사용하기 docker 는 기본적으로 root 권한으로 실행되기 되는데 일반적으로 root 로 작업하는 경우는 없다. 그래서 sudo 가 함께 사용되는데 번거롭기 때문에 아래와 같이 docker 그룹에 docker 를 사용할 일반계정을 추가한다. $ sudo usermod -aG docker $USER $ sudo usermod -aG docker your-user Docker 설치 확인 ubuntu@ubuntu:~$ docker version Client: Docke..

OpenSource/Docker 2022.01.20

Docker설치 후 permission denied 발생하는 경우

Docker 설치 후 사용자를 docker그룹에 추가했는데, docker version을 치니 아래와 같은 메세지가 떴다. permission denied가 떴을 때 해결하는 방법을 알아보자. 방법은 두 가지가 있다. /var/run/docker.sock 파일의 권한을 666으로 변경하여 그룹 내 다른 사용자도 접근 가능하게 변경 sudo chmod 666 /var/run/docker.sock 또는 chown 으로 group ownership 변경 sudo chown root:docker /var/run/docker.sock 나는 파일 권한을 변경하였더니, 아래와 같이 잘나온다.

OpenSource/Docker 2022.01.20

Docker 사용을 위한 VMware 설치

VMware 위에 Docker를 설치하기 위해 VMware를 먼저 설치해보겠습니다. 1. 홈페이지로 가서 다운받아 줍니다. (사진 클릭 시 홈페이지 이동) 2. 설치파일을 다운 받았으면, 실행해줍니다. 3. 설치가 완료되면 재부팅 후에 아래 앱을 실행해줍니다. 4. 우분투를 설치해줍니다. https://ubuntu.com/download/server Get Ubuntu Server | Download | Ubuntu Get Ubuntu Server one of three ways; by using Multipass on your desktop, using MAAS to provision machines in your data centre or installing it directly on a server..

OpenSource/Docker 2022.01.19

[Windows 10] Docker사용을 위한 WSL2 설치

설치하기전 Docker란? Docker는 빠르게 어플리케이션을 빌드, 테스트 그리고 배포할 수 있는 소프트웨어 플랫폼입니다. 소프트웨어를 이미지라 불리는 표준화된(OCI) 단위로 패키징하고, 컨테이너 엔진에 의해 컨테이너 단위로 운영됩니다. Docker는 리눅스의 가상화 시스템을 이용하기 때문에, Windows에서 사용할 때에는 Hyper-V 또는 Virtualbox위에서 사용해야 합니다. Docker는 어떤 환경이든 제약 받지 않고, 어플리케이션의 빠른 배포 및 확장을 지원하고 코드가 원활하게 실행되게 하는등의 많은 이점들을 제공합니다. 리눅스 컨테이너라는 이름에서 알 수 있듯이 Docker는 리눅스 기반으로 동작하는 애플리케이션입니다. 따라서 Windows에서는 이전부터 Docker를 사용하는게 비교..

OpenSource/Docker 2022.01.19

문제해결을 위한 알고리즘

진정한 개발자가 되기 위해서는 많은 것을 알아야 한다는 것을 4년차에 깨닫게 되었다. 코딩 테스트나 알고리즘 문제를 풀 때는 당연히 알고리즘이 필요하다. 정합성은 물론이고 성능까지 고려해야하기 때문에 쉽지 않다. 이러한 알고리즘을 공부하고 문제를 잘 풀고자 산 책이 있다. 프로그래밍 대회에서 배우는 알고리즘 문제해결 전략 이라는 책인데, 구매 후에 몇 개월이 되어서야 다시 펼쳐보게 되었다. 도입부를 읽다보니 머리를 한 대 맞은 듯한 문장이 있었다. 프로그래밍은 문제 해결이다. 최근에 Backend 개발 직무로 이직을 했는데, 회사에서 몇 개월 째 소스에 손을 덴 적이 없었다. 회사 선배에게 이런 고충을 얘기했더니, 해준말이 있었다. "코딩에 목을 메지 말아라. 진정한 개발자는 문제 해결을 하는 사람이다...

Algorithm 2022.01.18

조인 순서의 중요성

04 조인 순서의 중요성 ** 조인 순서에 따라 쿼리 수행 성능이 달라질 수 있다. ** 고객 테이블 : 10만 고객 관리 납입방법 테이블 : 신용카드, 자동이체, 지로 세 종류의 납입방법을 관리 양쪽 모두 조인 컬럼에 인덱스를 가지고 있다고 가정한다. Q) 어떤 테이블을 먼저 드라이빙하는 것이 유리할까? SELECT /*+ USE_NL(A B) */ A.납입방법명, B.* FROM 납입방법 A, 고객 B WHERE B.납입방법코드 = A.납입방법코드 * 필터 조건이 없을 때 NL 조인에서는 무엇보다 RANDOM 액세스 발생량에 의해 성능이 좌우 된다. CASE1) 고객 테이블을 먼저 드라이빙하는 경우 => 총 20만번의 RANDOM 액세스 발생 SELECT /*+ LEADING(B) USE_NL(A) ..

Database/Oracle 2018.08.02