본문 바로가기
반응형

Linux88

Docker - Jupyter Notebook Docker에서 실행하기 with Nginx Docker 를 이용해서 설치를 한다면, pip를 이용해서 설치하는 것이 가장 깔끔한 선택이라고 할 수 있다.# 베이스 이미지 선택 (예: Python 3.8 슬림 버전)FROM python:3.8-slim# 작업 디렉터리 설정WORKDIR /app# 필요한 패키지 설치RUN pip install --no-cache-dir notebook# 노트북 서버 포트 개방EXPOSE 8888# Jupyter Notebook 실행CMD ["jupyter", "notebook", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root"] 만약 여기에 Nginx를 이용하게 되면, 특정 경로는 Notebook 그외 경로는 다른 서비스를 할 수 있도록 구성도 가능하게 .. 2024. 12. 10.
Docker - CMD와 ENTRYPOINT 차이점 CMD와 ENTRYPOINT 모두 컨테이너가 실행될 때 실행되는 명령어를 설정하는데 사용된다.가장 큰 차이점은 CMD는 실행시 추가 인자로 명령어를 덮어쓸 수 있다. ENTRYPOINT는 덮어쓸 수 없다는 점이다. 이 두 명령어를 함께 사용하여 컨테이너의 실행 환경을 조정하는 용도로 사용한다. 예를 들어 웹서버를 실행해야하는데 포트를 변경하고 싶다면 CMD를 이용해서 docker run을 이용해 변경이 가능하다. 하지만 ENTRYPOINT는 docker run을 이용하여도 변경이 되지 않는다. 2024. 5. 28.
Docker - letsencrytpt 생성하기, 갱신 Letsencrytpt는 Docker를 이용해서 쉽게 인증서를 제공하는 기능을 가지고 있다. 1. letsencrytpt 생성하기 sudo docker run -it --rm --name certbot -v '/etc/letsencrypt:/etc/letsencrypt' -v '/var/lib/letsencrypt:/var/lib/letsencrypt' certbot/certbot certonly --manual --preferred-challenges=dns -d 'domain.site' 인증서 생성을 시작하면 몇가지 확인작업을 거치는데, 필자는 dns의 레코드로 갱신하는 방법을 선택하여, 아래 _acme-challenge라는 값을 생성하여 모자이크 값을 입력해줘야 정상적으로 인증이 완료된다. 2. l.. 2024. 4. 12.
Elasticsearch - 기본 용어 이해, 환경 구성 및 REST API 기본 요즘 Elasticsearch는 오픈소스로 많이 사용한다. BigData가 화제인 요즘 엘라스틱서치는 고성능의 풀텍스트 검색 및 분석 엔진으로 활용성이 높다. 오픈소스로 제공되며 준 실시간으로 대량의 데이터를 빠르게 저장하고 검색할 수 있다. 그럼 가장 기본(Basic)이 되는 핵심 요소들에 대해서 알아보자. Cluster(클러스터) 클러스터는 전체 데이터를 하나 또는 그 이상의 노드의 집합에서 유지하고 있다는 것을 의미한다. 하나의 클러스터는 다수의 로드로 구성될 수 있으며, 하나의 클러스터에 다수의 서버로 바인딩하여 운영하거나 하나의 서버에 다수의 클러스터를 운영할 수 있다. 실행 명령 bin/elasticsearch --cluster.name=elasticsearch 환경설정 파일 cluster.n.. 2024. 3. 18.
SQL - SELECT와 함께 WHERE와 ORDER BY 많이 사용하는 TSQL문 SELECT는 데이터베이스에서 데이터를 조회하는 데 사용하는 키워드로, 보통 SELECT 문은 다음과 같은 형식을 사용한다. SELECT FROM [WHERE ] [ORDER BY ] 은 조회할 열을 지정 은 조회할 테이블을 지정 은 조회할 데이터를 제한하는 조건을 지정 은 데이터를 정렬할 열을 지정 그럼 자주 사용되는 TSQL문 위주로 정리해 보자. 1. SELET 데이터를 조회하는데 사용한다. 특정 컬럼을 지정하여 볼 수 있다. 모든 열을 조회 - posts테이블의 모든 열을 조회하는 SELECT 문 SELECT * FROM posts; 특정 열만 조회 - post 테이블의 post_id, title, count 열만 조회 SELECT post_id, title, count FROM posts; 2... 2024. 3. 10.
AWS Credentials 저장위치, 적용 순서 AWS 인증 키는 아래와 같이 적용 할 수 있다. Python 기준으로 boto에 직접 인증키를 입력하지 않으면, 1번부터 순차적으로 인증키가 있는지 확인을 진행하고 적용이 된다. Passing credentials as parameters in the boto.client() method Passing credentials as parameters when creating a Session object 1. Environment variables 환경 변수(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) 2. Shared credential file (~/.aws/credentials) 3. AWS config file (~/.aws/config) 4. Boto2 config.. 2024. 3. 7.
Docker Swarm - Update(Rollout) 와 Rollback 이해 Docker Swarm 명령을 이용하다 보면, 익숙하지 않은 명령어 3개를 확인 할 수 있다. 이 명령은 Docker Swarm 에서만 사용이 가능한 명령으로 서비스를 효과적으로 관리하는데 목적을 두고 있다. 그럼 Update(Rollout) 와 Rollback에 대해 공부를 진행하기 위해 서비스를 만들어 보자. Swarm Init Swarm 모드를 사용하기 위해서 가장 먼저 해야 하는 작업으로, Swarm 서버를 구성하는 것이다. Swarm 모드는 다중 물리적인 호스트를 연결하여 Resource를 관리할 수 있는 기능을 제공한다. Swarm 활성화는 다음 명령으로 진행할 수 있다. docker swarm init # 만약 사설 ip가 다중으로 가지고 있는 경우 --advertise-add 으로, 하나를.. 2024. 3. 7.
Docker - 기본 배포/실행 방법 Docker를 이용한 기본 배포 시나리오는 다음과 같이 3단계로 이루어진다. 이미지 다운로드 -> 컨테이너 실행 -> 포트 매핑(선택, 네트워크 연결) 로 진행된다. 이를 기본적으로 실행하는 방법을 각 단계별로 순서대로 알아보고자 한다. Docker의 모든 이미지는 이름과 태그(Tag)를 가지고 있고 이를 이용해서 이미지를 다운로드하게 된다. 이미지 다운로드 이미지 다운로드는 기본적으로 docker login을 통해 로그인한 Docker Repo와 연결되고, 해당 저장소에서 이미지를 찾게 된다. docker image python:3.10-slim 그리고 이미지는 : 이후로 태그를 갖는데 태그는 아래와 같은 방식으로 사용되는 아래 문서를 참고하자. Docker - Image Alpine, Slim, St.. 2024. 3. 7.
Docker - 이미지, 컨테이너, 레이어, 가상화 이해 Docker를 사용하는 이유는 사용해보면 쉽게 알 수 있지만, 여기에서는 사용하기 전, 즉 왜 필요한지에 대해서 얘기해보고자 한다. Docker는 현재 많은 업체에서 배포환경에 사용하고 있는 CI/CD 기술에 필수요소로 자리잡은 기술이라고 할 수 있다. 왜 이처럼 많은 사람들이 Docker를 사용하는 것일까? 만약 여러분이 웹 서비스를 개발한다고 생각해보자. 자신의 노트북에서 개발을 진행하고, 실제 서비스를 위해서 클라우드에 위치한 서버에 서비스를 올려야 할 것이다. 노트북에서 웹 서비스에서 개발할 때 개발 기간이 길고, 다양한 서비스를 활용했다면, 이를 클라우드 서버에도 동일하게 구성을 해야 한다. 그리고 만약 서비스를 업데이트한다면, 추가적인 구성들도 서버에 적용해야 할 것이다. 특히 환경 설정이 많.. 2024. 3. 3.
반응형