7/1 Docker 이미지 다운로드/업로드
-it
-i 옵션: 표준입력을 유지시켜주는 옵션
-t : 터미널
1. 그냥 실행
2. - it
3. -d (데몬형태로 백그라운드에서 실행)
이렇게 3가지 형태의 이미지로 나눌 수 있다.
모든 이미지는 도커허브에서 가져옴
컨테이너의 이미지는 도커허브에 존재한다고 생각해도 무방
httpd -> 오피셜 이미지임
나머지는 개인이 만들어놓은 이미지(보안에 취약할 수 있으므로 오피셜이 아닌 이미지는 조심해야함)
docker run : 이미지가 없으면 자동으로 다운로드함
docker images (= docker image ls): 이미지 목록 확인 (또는 docker inspect (httpd..))
이미지를 지정할때 항상 latest 태그 사용
흰 부분이 풀네임
위와 같이 태그를 지정해 줄 수 있음
latest 태그는 실제로 사용하면안됨 그래서 이미지 올릴때 항상 특정 버전이나 특정 아키텍쳐의 태그를 지정해 주어야 함
안정성을 위해 웹서비스가 장애가 날걸 대비해서 두대 이상 세팅하는것(웹 2개와 로드밸런서 배치한 이유임, 로드밸런서는 단일 웹 이용하기위해 설정한것)
docker run = docker container run
docker ps = docker container ps
docker pull mysql:8 여기에서 id 가 같으면 같은 이미지란 의미( mysql 8 과 latest 가 같은 이미지인걸 알 수 있음)
같은이미지라도 태그 여러개 붙일 수 있다는 걸 알 수 있음
위 명령어로 운영체제 알 수 있음
해쉬(DIGEST)가 같으면 같은이미지란 의미
패치버전까지 나와있는걸로 다운받는걸 추천(ex) 8.0.25)
rmi : remove image
docker image rm = docker rmi
docker container rm = docker rm
이미지에 이름대신 아이디 지정할때 아이디 전체 굳이 안쓰고 두자리이상만 써도 됨(유일할 경우에만)
(docker ps -a 로 확인해서 이미지가 사용중이면 지울수없음)
config 밑
cmd
Entrypoint(중요)
docker save -o : images 에 있는 이미지 세이브
-o : output(이미지 출력)
sudo apt install tree
tree
이걸로도 확인가능
컨테이너 이미지는 계층으로 구성되어있음
도커 컨테이너를 구성하기 위한 핵심기술 3가지
1. 씨그룹
2. name space
3. layered filesystem
docker inspect httpd -> httpd 이미지 레이어 확인 가능
위 명령어로도 가능
elf : 실행파일
./hello 명령어 입력하면 실행됨
docker rmi 이미지 -f : 실행중이어도 강제 삭제 가능
save 해서 파일 업로드해보기
tar : tape archive