출처1 : https://miiingo.tistory.com/89
출처2 : https://miiingo.tistory.com/category/%EA%B0%9C%EB%B0%9C%EB%8F%84%EA%B5%AC/Docker
출처3 : https://www.leafcats.com/category/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%26%20IT/Docker
#########################################
##### 도커 톰캣 웹서버 돌리기
#########################################
# 동작중인 컨테이너 확인
D:\>docker ps
# 정지된 컨테이너까지 모두 확인
D:\>docker ps -a
# 컨테이너 삭제
D:\>docker rm [컨테이너id 또는 이름]
# 도커로 톰캣실행(접속 테스트는 http://localhost:8080 으로 접속해서 해볼 수 있음)
D:\>docker run -p 8080:8080 --name test_tomcat tomcat:9-jdk8
# Ctrl+C 눌러서 커맨드로 나오기
# war 파일 복사
D:\>docker cp D:\temp\ROOT.war test_tomcat:/usr/local/tomcat/webapps
# bash 쉘로 접속
D:\>docker exec -it test_tomcat bash
# 복사된 파일 확인
root@56998e9bce43:/usr/local/tomcat/webapps# ls -al
# 도커 이미지 만들기(commit)
# docker commit [options] <container name> [image name[:tag name]]
D:\>docker commit -a motolies -p test_tomcat myTomcat:1.0
-a : 생성자
-m : 메시지
-p : 정지(pause)
# 이미지 확인하기
D:\>docker images
# 생성한 이미지 실행하기
docker run -p 8080:8080 -p 8443:8443 --name master_tomcat myTomcat:1.0
# tomcat 이미지에 vim 설치하기
apt-get update && apt-get -y install vim
# 정지된 컨테이너 모두 정리
D:\>docker container prune
# os 실행시 exit로 나와도 죽지않게 하기
D:\>docker run -it --name cent centos:7
Ctrl + p,q
#########################################
##### 도커 mariadb 돌리기
#########################################
# mariadb 설치
docker search mariadb
docker pull mariadb:latest
docker images
# 윈도우에서 그냥 돌릴 때...
docker run -d -p 13306:3306 -e MYSQL_ROOT_PASSWORD=root --name mariadb_local mariadb:latest
-d : 백그라운드 실행
-p : 포트 포워딩
-e : 내부 환경설정
--name : 컨테이너 이름
# 상태변경
docker start/stop/restart mariadb_local
# volume
리눅스에서는 db파일을 볼륨설정해서 할 수 있는거 같던데, 윈도우 버전에서는 잘 안되더라.
#########################################
##### docker file 작성하기
#########################################
# 파일 내용 작성
#########################################
FROM mariadb:10.0.38
MAINTAINER knw1234@gmail.com
# 볼륨을 사용하지 않아서 이미지에 데이터를 넣을 수 있음
RUN cp -r /var/lib/mysql /var/lib/mysql-no-volume
CMD ["--datadir", "/var/lib/mysql-no-volume"]
# 환경설정
ENV MYSQL_ROOT_PASSWORD=root \
MYSQL_USER=user1 \
MYSQL_DATABASE=myDataBase \
MYSQL_PASSWORD=pword
#########################################
# docker file build (마지막의 .(점)은 docker file의 상대폴더 위치)
docker build -t imageName:tag -f dockerFileName .
#########################################
##### docker image로 백업/복원
#########################################
# 백업을 하기 전에는 커밋을 한다(새로운 버전으로)
# docker commit [options] <container name> [image name[:tag name]]
docker commit -a motolies -p myServer myServer:newTag
-a : 생성자
-m : 메시지
-p : 정지(pause)
# 백업(save)
docker save -o fileName.tar myServer:newTag
# 복구(load)
docekr load < fileName.tar
# 복구 이미지 확인
docker images