작업환경 세팅 로드를 줄여줄 docker 작업을 시작해보자
설치하기
환경
OS : ubuntu 20.04
Install using the repository
docs.docker.com/engine/install/ubuntu/
문서에 따르면 3가지 방법이 있다고한다. 필자는 첫번째 방법으로 최신버전(20.10.3) docker engine을 다운 받았다.
그리고 아래 방법으로 설치가 잘 되었는지 확인했다.
$ sudo systemctl start docker
$ sudo systemctl status docker
$ docker version
명령어별로 기술하여 깔끔한 참고자료
docker 이미지 관련 명령어
이미지는 Dockerfile 을 기준으로 빌드(생성)된다.
이미지 빌드
$ docker image build -t(이미지명, 태그명 지정) 이미지명:태그명 Dockerfile경로 //경로는 현재 작업 디렉토리와 같은 곳에 있다면 .
이미지 삭제
$ docker rmi image_id_1 [image_id_2, ...] // 띄어쓰기로 여러개 삭제 가능
// 실행중인 container가 있다면 잘 안 지워진다.
이미지 목록
$ docker image ls
// = $ docker images
docker 컨테이너 관련 명령어
이미지를 실행하면 컨테이너 상태가 된다. 즉, 파일 시스템과 앱이 담겨있는 실행환경이라 볼 수 있다.
3가지 상태가 존재 : 실행 중, 정지(다시 실행 가능), 파기(= 완전 삭제, 다시 실행 불가)
컨테이너 실행, 중지, 파기
$ docker container run image_name // 실행
$ docker container stop container_id // 중지
$ docker container rm container_id // 파기
컨테이너 파기할 때 이미지도 삭제하기
$ sudo docker-compose down --rmi all
컨테이너 목록
$ docker container ls (-a, 중지된 컨테이너 목록도 확인 가능)
$ docker container ps // 간략버전
실행 중인 컨테이너 명령
$ docker container exec container_id [command] // command ex) npm start
docker-compose
여러 container (실행 환경) 를 관리하기 위한 명령어
$ docker container exec container_id [command] // command ex) npm start
docer-compose.yml
이 파일에서 실행할 여러 container 정보를 정의
도커 컴포즈 명령어
// 모두 앞에 다 sudo 붙이세요
$ docker-compose up (--build, 실행하면서 빌드 진행) (-d, background 실행)
// 기본적인 이미지 실행 = container 생성
// (docker container run 단일IMAGE 와 유사) * 여러개를 한방에
// --build는 container 실행 전 이미지 빌드(생성)
// -d 이거 없으면 실행 log가 보이고, 터미널 사용 불가하네. [Ctrl] + C 로 나가기
$ docker container ls // 실행 중인 container 확인
$ docker-compose stop // 정지 -> 특정 id로 재시작 가능
$ docker-compose down // container, networks 정지 및 삭제 -> 이러면 이전 id로 시작 불가
$ docker start/stop/down specific_contaier_id //
큰 제목
소제목
내용
docker 관련 질문
1. container vs image
이미지는 필요한 프로그램과 라이브러리, 소스를 설치한 뒤 파일로 만든 것입니다.(그래서 dependency 모두 설치하고 image build 하는건가?) 이 이미지를 공유함.
컨테이너는 이미지를 실행한 상태임. 이미지로 여러개의 컨테이너를 만들 수 있다.
2. 가상머신과의 차이점
gest OS 를 설치하지 않아 container라는 다른 이름을 붙인 듯
그런데 host OS 와 다를 경우에는 어떻게함?
docker 에러 모음
소제목
1. image 확인하기
- 에러메세지
Got permission denied while trying to connect to the Docker daemon socket - 해결방법
sudo가 답인가.
$ sudo docker image ls
2. docker-compose 실행 에러
- 에러 메세지
PermissionError: [Errno 13] Permission denied - 해결방법
sudo 붙여라
2. docker-compose 명령어 없음
- 에러 메세지
bash: docker-compose: command not found - 해결방법
설치해주면 끝
참고자료
'2️⃣ 개발 지식 B+ > devops' 카테고리의 다른 글
[EC2][nginx] port-forwarding, https 설정 (0) | 2024.11.04 |
---|