sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |
sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
docker --version
sudo systemctl status docker
# 위에꺼 아니면 아래꺼
sudo /etc/init.d/docker start
docker image bulid -t 이미지명[:태그명] Dockerfile경로
docker image pull 레파지토리명[:태그명]
docker ps
: 실행중인 컨테이너 목록 확인
docker ps -a
: 전체 컨테이너 목록 확인
docker container ls -a
: 전체 컨테이너 목록 확인
docker start 컨테이너ID
: 컨테이너 시작
docker attach 컨테이너ID
: 컨테이너 접속
docker stop 컨테이너ID
: 컨테이너 멈춤
docker run 컨테이너ID
: 컨테이너 생성 및 시작
docker run -it 컨테이너ID
: 컨테이너 생성 및 시작 및 접속
docker rm 컨테이너ID
: 컨테이너 삭제
docker exec -it 컨테이너ID /bin/bash
: 실행되고 있던 컨테이너 접속
exit
: 컨테이너 빠져나오기
dockerfile은 docker image를 만들기 위한 설정 파일을 의미한다.
dockerfile은 기본적으로 하나의 디렉토리 안에 한 개씩 생성할 수 있다. 또한 dockerfile은 dockerfile
혹은 Dockerfile
이라는 이름으로 생성되어야 인식되는 것 같다.
디렉토리 생성하고 해당 디렉토리로 이동. Mytest라는 이름으로 생성해 봄.
mkdir Mytest
cd Mytest
Dockerfile
생성
touch Dockerfile
테스트를 위한 testfile1 파일을 생성해본다.
touch testfile1
vi testfile1
# 원하는 내용 작성 후 저장
Dockerfile
작성
vi Dockerfile
작성 내용 예시
FROM ubuntu:latest
MAINTAINER myname
RUN apt-get install -y
ADD testfile1 /testfile2
VOLUME /mountcheck
내용을 해석하자면
이미지 빌드(위치한 경로에 존재하는 dockerfile을 원하는 태그명으로 빌드한다.)
docker build --tag Myimage:1.0
docker image ls
REPOSITORY는 Myimage, TAG는 1.0으로 빌드된 이미지를 확인할 수 있을 것이다.
docker run -it Myimage:1.0
: 해당 이미지로 컨테이너 생성 및 실행, 그리고 바로 접속
확인
ls 명령어를 통해 파일과 디렉토리를 확인하게 되면 위에서 설정했던대로 / 경로에 testfile2 파일과 mountcheck 디렉토리가 존재하는 것을 확인할 수 있다.