제목과 같은 글을 적게 된 건 온전히 효율성이 떨어지는 빌드와 도커 컨테이너를 계속적으로 생성했기 때문에 이 글을 작성한다.레이어의 구조Docker 이미지는 컨테이너를 생성하기 위한 템플릿 역할을 한다. 이 이미지는 여러 개의 읽기 전용 레이어로 구성되어 있다. 위의 사진을 보면, ubuntu, nginx, web app을 이루어 docker image가 생성된다. 각 레이어는 이미지의 변경 사항을 포함하며, 이는 새로운 파일을 추가하거나 기존 파일을 수정하거나 삭제한다. Docker는 이러한 레이어들을 효율적으로 관리하여 이미지 빌드 속도를 향상시키고, 저장 공간을 절약한다. 이 이미지들이 모여 컨테이너를 만들고, 하나의 이미지로 여러개의 컨테이너를 만든다. 도커 이미지를 만들기 위해서는 dockerf..
도커
728x90
반응형
1. docker 이미지 생성 및 컨테이너 포트 열기1) docker images 확인하기docker images도커 이미지가 잘 생성되었는지를 확인하고, 이미지id를 확인하여 따로 복사해둔다.2) 실행중인 컨테이너 확인하기docker run -i -t -p [host port]:22 --name [컨테이너명] nvidia/cuda /bin/bash-i : 이 플래그는 interactive를 의미하고, 이는 터미널에 연결하여 컨테이너의 명령줄과 상호 작용할 수 있도록 한다. 컨테이너 내부에서 실행되는 명령이나 스크립트에 입력을 제공한다.-t : "pseudo-terminal"을 나타낸다. 터미널 장치를 할당하여 터미널에서 컨테이너의 명령 프롬프트와 터미널 출력을 볼 수 있다.-d : ‘backgroun..
: 단일 서버에서 여러 개의 컨테이너를 하나로 정의하고 실행하기 위한 도구이다. 즉 docker run을 통해서 실행하는 모든 어플리케이션은 docker-compose 명령어를 사용하여 작업하여 관리할 수 있다.docker-compose 사용 이유docker로 만든 여러 개의 컨테이너를 한번에 작업하고자 할 때가 존재한다. 웹서버는 기본적으로 프론트 엔드 서버, 백엔드 서버, 데이터베이스 서버 가 존재한다. 이를 각각 하나씩 컨테이너로 만들어 구동할 수 있게 작업해줘야 하는데, docker-compose를 사용하면 이를 한번에 작업할 수 있다.docker-compose 설치하기docker-compose는 각각의 OS환경에 따라 다르다. 그러므로 docker docs에서 본인의 환경에 맞는 OS를 선택하여..
기기마다 다른 플랫폼이나 아키텍처를 가진다. 내가 원하는 환경에서 구동되면 좋겠지만 그게 아니라면 그것들을 위한 환경을 만들어줘야 한다.1) 아키텍처 확인하기uname -a접속한 기기의 아키텍처를 알 수 있다.Ubuntu에서 build한 image를 iot등에 실행시킨다면 아키텍처가 다르다.2) docker 버전 확인하기우선 docker 19.03 버전부터 사용이 가능하므로 설치되어 있는 docker의 버전을 확인해준다.3) buildkit 환경셋팅해주기sudo mkdir /etc/buildkitsudo vi /etc/buildkit/buildkitd.tomldebug = trueroot = "/var/lib/buildkit"insecure-entitlements = ["network.host", "se..
728x90
반응형