출처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









Posted by motolies
,