- 목차 -
1. Commit
2. Import, Export
3. Import, Export시에 CMD, 환경변수 초기화된다. 데이터는?
4. 초기화된 환경 변수 해결
5. Save
1. Commit
- 일반적으로 도커 컨테이너 상에서 작업한 내용은 컨테이너가 종료되면 함께 사라집니다. 도커 컨테이너 상에서 작업한 내용을 커밋하여 나중에 해당 이미지로부터 다시 컨테이너를 실행함으로써 작업했던 내용을 다시 사용할 수 있습니다.
1-1. httpd 컨테이너 생성
1-2. h1 컨테이너 접속
1-3. index.html에 내용 삽입
1-4. 웹 페이지 접속하여 확인
1-5. 현재 컨테이너를 http:1 이미지로 commit
1-6. commit한 이미지로 컨테이너 생성
1-7. 이전이랑 같은 설정인 것 확인
2. Import, Export
- 현재 로컬에 있는 컨테이너를 tar 파일로 추출하고 다시 로드하는 명령어입니다.
- 도커 레이어에 대한 정보는 포함하지 않습니다.
- 이미지를 기동하기 위해서는 Dockerfile을 작성하거나, import --change 옵션을 사용하여 필요한 구문을 추가해야 합니다.
2-1. centos 컨테이너 c1 생성. c1을 c1.tar로 export
2-2. export했던 tar을 다시 import 함으로써 이미지 생성
2-3. 방금 생성한 이미지로 컨테이너를 만들고자 하지만 실패한 모습. 환경 변수가 초기화되었기 때문.
2-4. 오리지널 이미지인 centos:7을 inspect해보면 다음과 같은 내용 확인 가능
2-5. --change 옵션을 넣어서 import. 이름은 centos:7-2
2-6. 방금 생성한 이미지를 토대로 c3 컨테이너 생성. 정상 생성 확인
3. Import, Export시에 CMD, 환경변수 초기화된다. 데이터는?
3-1. centos7 컨테이너 생성
3-2. 컨테이너에 접속하여 최상위에 test.txt 파일 생성
3-3. c1.tar export
3-4. import하여 이미지 생성하고, 그 이미지로 컨테이너 생성. test.txt 그대로 파일 존재하는 것 확인.
export, import를 사용하면 환경 변수는 초기화되지만 데이터는 그대로 유지된다는 것을 알 수 있습니다.
4. 초기화 된 환경 변수 해결
4-1. httpd 컨테이너 생성. docker ps -a로 CMD 확인
4-2. http.tar로 export
4-3. 위에서 확인한 CMD를 넣어서 import. 생성된 이미지로 컨테이너 생성
4-4. 하지만 실행되지 않고 Exited 된 모습.
4-5. 초기화 되어서 이 환경 변수들이 없어졌기 때문입니다.
4-6. 환경 변수용 파일 생성
4-7. 위에서 확인한 환경 변수들을 넣어줍니다. 이때 큰따옴표는 지워줬습니다.
4-8. --env-file을 활용하여 컨테이너 생성
4-9. 정상 작동 확인
4-10. 웹 페이지 확인
4-11. PATH 확인
5. Save, load
- 현재 도커 로커 리포지토리에 있는 도커 이미지를 tar 파일로 추출하고 다시 로드하는 명령어
- 도커 이미지를 조작하지 않고 단순히 또다른 환경으로 이관하기 위한 용도
- 도커 이미지를 tar 파일로 추출하고 로드하는 역할로 이미지에 변경이 있지 않은 오리지널 이미지와 동일
5-1. 도커 이미지를 tar 파일로 저장
5-2. tar 파일 생성 확인
5-3.tar파일을 load하여 이미지 설치 확인
'IT > Docker' 카테고리의 다른 글
도커[Docker]_Docker file (0) | 2022.07.18 |
---|---|
도커[Docker]_Wordpress, MySQL, PHP (0) | 2022.07.14 |
도커[Docker]_링크, 환경 변수 (0) | 2022.07.14 |
도커[Docker]_Network (0) | 2022.07.14 |
도커[Docker]_Volume, Bind mount (0) | 2022.07.13 |