프로그래밍/Docker 8

[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 명령어로 컨테이너를 생성합니다. 도커 컨테이너 아이디를 다음 명령..