Docker

GisangLee·2022년 2월 26일
0

docker

목록 보기
1/6

1. 리눅스에서 설치

$ sudo apt-get update
$ sudo apt-get install docer-ce docker-ce-cli containered.io
$ sudo systemctl enable docker
$ sudo systemctl start docker

2. 주요 명령어

컨테이너

$ docker pull nginx:lates
$ docker docker run --rm --detach --publish 8000:80 nginx
$ docker container ls
$ docker <container> ps
$ docker <container> stop <컨테이너 이름>
$ docker <container> rm <컨테이너 이름>
$ docker images ls
  • $ docker docker run --rm --detach --publish 8000:80 nginx
    - --detach 옵션을 주지 않으면 포그라운드에서 실행. 옵션을 주면 백그라운드 실행
    - --name 옵션으로 컨테이너 이름 지정 가능. 지정하지 않으면 임의 이름으로 지정
    - --rm 옵션으로 stop과 동시에 컨테이너 제거

3. 기타 명령어

컨테이너

$ docker container ls
$ docker container ls -a

이미지

$ docker images
$ docker pull [이미지 이름]:[태그]
$ docker rmi [이미지 ID]

4. nginx 웹서버 띄우기

$ docker run --rm --detach --publish 8080:80 --name mynginx nginx

$ docker stop mynginx
$ docker rm mynginx

5. 호스트 html을 서빙하기

맥/리눅스

$ docker run --rm -d -p 8080:80 --volume `pwd`/html:/usr/share/nginx/html --name mynginx nginx

윈도우

$ docker run --rm -d -p 8080:80 --volume %cd%\html:/usr/share/nginx/html --name mynginx nginx

6. Docker File

  • Docker 이미지를 만들 때, 수행할 명령과 설정들을 시간 순으로 기술한 파일
    아래는 예시
FROM ubuntu:18.04
RUN apt-get update && apt-get install -y python3-pip python3-dev && apt-get clean

WORKDIR /code
ADD ./backend/requirements.txt /code/
RUN pip3 install -r requirements.txt
ADD ./backend /code/

EXPOSE 8000
CMD ["python3", "/code/manage.py", "runserver", "0.0.0.0:8000"]

7. Docker File 빌드하기 : 이미지 생성

Dockerfile이 있는 경로에서 명령어 실행

$ docker build -t <이미지 이름> .

보너스 Docker compose 기본 명령어

# docker-compose.yml 파일의 내용에 따라 이미지를 빌드하고 서비스를 실행함
$ docker-compose up -d

# 현재 환경에서 실행 중인 각 서비스의 상태를 보여줌
$ docker-compose ps

# 서비스를 멈추거나, 시작함
$ docker-compose stop 또는 docker-compose start

# 서비스를 지움, 컨테이너와 네트워크를 삭제함. 옵션에 따라 볼륨(postgres)도 지움
$ docker-compose down --volume

# 실행 중인 컨테이너에서 명령어를 실행
$ docker-compose exec puddlr ./manage.py makemigrations

# 서비스의 로그를 확인할 수 있음
$ docker-compose logs -f django
profile
포폴 및 이력서 : https://gisanglee.github.io/web-porfolio/

0개의 댓글