프로그래밍/Docker 10

[Docker] Docker Engine 설치

Docker Desktop이 유료화 되면서 사용할 수 없게 됐다.Windows 컨테이너만 실행할 수 있도록 하는 Docker 데몬을 Windows Server에 설치하여 사용할 수 있다.Docker EngineDocker Engine은 다음 세 가지 주요 부분으로 구성Docker Daemon Docker Engine의 백그라운드 프로세스모든 주요 작업(컨테이너 실행, 이미지 관리, 네트워킹 등)을 처리하고 클라이언트 요청(Docker CLI 및 API)을 수행합니다.REST API를 통해 Docker 클라이언트와 통신Docker CLI 사용자가 명령을 내릴 때 사용하는 명령줄 인터페이스(CLI)입니다.ex> docker run, docker build, docker pull Container Runtim..

[Docker] Windows 이미지 사용기

docker windows : https://hub.docker.com/r/dockurr/windows테스트 배경온라인으로 은행 업무를 볼 때마다 수많은 보안 툴들이 설치되는데,이 보안 툴들이 프로세스들을 계속적으로 감시하면서 PC성능 저하를 일으키므로, (실제로 보안 툴 설치 여부에 따라서 동일한 프로그램 실행에도 버벅임이 줄었음을 확인했다.)은행 업무 후엔 설치 된 모든 보안 툴을 삭제해주는 작업을 진행했다.하지만 이 작업들이 반복되면서 짜증을 느꼈다.별도의 OS환경이 필요함을 느꼈고, Docker 기반 Windows OS를 실행시켜 사용할 수 있다는걸 발견했다.물론 Windows 에는 샌드박스라는 좋은 시스템이 있긴하지만, 샌드박스는 임시로 실행되는 인스턴스 환경을 제공하므로,샌드박스 종료 시 모든..

[Docker] Dockerfile

도커 파일(Dockerfile)은 도커 이미지를 빌드하기 위한 스크립트입니다.여러 명령어를 사용하여 이미지를 구성하고 필요한 설정을 지정할 수 있습니다. 일반적으로 사용되는 명령어FROM: 기본 베이스 이미지를 지정합니다.FROM ubuntu:20.04RUN: 쉘 명령어를 실행하여 패키지 설치나 설정을 변경합니다.RUN apt-get update && apt-get install -y python3COPY 또는 ADD: 호스트 파일을 이미지로 복사합니다.COPY app.py /app/WORKDIR: 작업 디렉토리를 지정합니다.WORKDIR /appCMD 또는 ENTRYPOINT: 컨테이너가 시작될 때 실행될 명령을 지정합니다.CMD ["python3", "app.py"]EXPOSE: 컨테이너가 사용할 포..

[Docker] Docker Compose

일반적인 시스템은 단일 애플리케이션으로 구동이 되지 않습니다. 여러 개의 애플리케이션이 서로 의존성 있게 구성되어 시스템이 이뤄져 있습니다. 그렇다면 흔히 하나의 컨테이너가 하나의 애플리케이션을 담당한다고 하면 여러 개의 컨테이너가 필요로 합니다. 이때 필요한 기술이 도커 컴포즈(Docker Compose)입니다. 도커 컴포즈는 yaml 포맷으로 작성되며 여러 개의 컨테이너의 실행을 한 번에 관리를 할 수 있게 해 줍니다. 그런 다음 단일 명령으로 구성에서 모든 서비스를 생성하고 시작할 수 있습니다. 도커 컴포즈는 모든 환경(생산, 스테이징, 개발, 테스트 및 CI 워크플로우)에서 작동합니다.

[Docker] Docker VS Podman

참조 : https://www.lambdatest.com/blog/podman-vs-docker/ 일반적으로 Podman과 Docker는 동일한 작업을 수행합니다. Docker VS Podman Docker 데몬은 단일 호스트에서 모든 컨테이너를 관리하는 백그라운드 프로세스입니다. 모든 Docker 이미지, 컨테이너, 네트워크, 스토리지 등을 처리할 수 있습니다. Docker는 컨테이너를 관리하기 위해 데몬이 필요하므로 프로세스를 실행하려면 루트 권한이 필요합니다. 반면 Podman은 데몬이 필요하지 않습니다. 사용자가 컨테이너(루트리스) 실행을 시작하는 데 도움이 되는 (데몬리스 아키텍처)가 있습니다. 즉, Podman은 컨테이너를 관리하기 위해 루트 권한이 필요하지 않습니다. Security Dock..

[Docker] Container란?

What is Container 컨테이너화는 사용 가능한 매우 효율적인 가상화 방법입니다. 개발자가 대규모 애플리케이션을 훨씬 쉽게 테스트, 구축 및 배포할 수 있습니다. 컨테이너와 가상 머신은 유사하지만 동일하지 않습니다. 너무 비슷하기 때문에 어떤 사람들은 같은 일을 하지만 다르게 하기 때문에 혼동하는 경향이 있습니다. 도커없이 컨테이너 만들기 : https://www.youtube.com/watch?v=mSD88FuST80

[Docker] MongoDB 도커 컨테이너 올리기

참고 https://afsdzvcx123.tistory.com/entry/Mongo-DB-%EB%8F%84%EC%BB%A4%EB%A1%9C-MongoDB-%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95-%EB%B0%8F-Robo-3T-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0 Docker환경에서 MongoDB를 활용하므로 참고바랍니다. DockerCompose 활용하여 컨테이너 올리기 DockerCompose를 활용하기 위해선 docker-compose.yml파일이 필요하다. 파일 내용은 다음과 같다. docker-compose.yml # 파일 규격 버전 version: "3" # 이 항목 밑에 실행하려는 컨테이너 들을 정의 services: # 서비스 명 mo..

[Docker] Mysql docker생성 및 Docker Volume 생성하기

Docker mysql 컨테이너 생성 참고 : https://www.youtube.com/watch?v=gmE_8oSZ-mo mysql 이미지 다운로드 및 실행 + password + 데이터볼륨 설정 docker run -dp 8756:3306 -e MYSQL_ROOT_PASSWORD=123 mysql:5.6 컨테이너 접속 docker exec -it {container id} /bin/bash mysql 접속 mysql -u root -p db show show databases; db 생성 create database {db name}; db 선택하여 사용 use {db name}; db table 생성 CREATE TABLE {table name} ( id int(11) not null auto_i..

[Docker] Docker Desktop에서 Docker 다루기

Windows10 에 Docker Desktop 설치하기 windows10에 Docker설치하기 : https://www.lainyzine.com/ko/article/a-complete-guide-to-how-to-install-docker-desktop-on-windows-10/ 위 링크에서 Windows에 Docker Desktop설정 및 환경 세팅 및 테스트에 사용할 nginx라는 도커 이미지 파일 다운로드까지 진행 할 수 있다. nginx이미지 파일을 컨테이너로 띄우기 powershell에서 docker images 명령어로 도커 이미지 확인 이미지가 확인 되었다면 docker run -p 4567:80 -d nginx:latest 명령어로 컨테이너를 생성합니다. 도커 컨테이너 아이디를 다음 명령..