반응형
- 테스트
- docker-compose-tomcat.yml
name: tomcat
services:
app-tomcat:
image: tomcat:9.0.97-jdk8
container_name: app-tomcat
#user: 1000:1000
ports:
- 8080:8080
volumes:
- ./tomcat/webapps/:/app/webapps/
- ./tomcat/conf/:/app/conf/
$ docker compose -f docker-compose-tomcat.yml up -d
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
964ef8cb99d4 tomcat:9.0.97-jdk8 "catalina.sh run" 3 minutes ago Up 3 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp app-tomcat
$ ls -al
drwxr-xr-x 4 root root 4096 Dec 3 20:16 tomcat
$ ls -al tomcat
drwxr-xr-x 2 root root 4096 Dec 3 20:31 conf
drwxr-xr-x 2 root root 4096 Dec 3 20:31 webapps
- tomcat 디렉토리는 root 권한소유자이다.
- app-tomcat 컨테이너에 접속한다.
$ docker exec -it app-tomcat bash
- 컨테이너 bash
root@964ef8cb99d4:/usr/local/tomcat# cd
root@964ef8cb99d4:~# pwd
/root
- 계정을 확인한다.
root@964ef8cb99d4:/usr/local/tomcat# cd /home
root@964ef8cb99d4:/home# ls -al
drwxr-x--- 2 ubuntu ubuntu 4096 Oct 16 07:00 ubuntu
- 계정 정보를 확인하고 volume 디렉토리에 권한소유자를 준다.
root@964ef8cb99d4:/home# id ubuntu
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),....
root@964ef8cb99d4:/home# chown -R 1000:1000 /app
root@964ef8cb99d4:/home# ls -al /app
drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 3 11:16 conf
drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 3 11:08 webapps
root@964ef8cb99d4:/home# exit
- 호스트 콘솔 확인
$ ls -al
drwxr-xr-x 4 root root 4096 Dec 3 20:16 tomcat
$ ls -al tomcat
drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 3 20:16 conf
drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 3 20:08 webapps
- 루트 디렉토리인 tomcat 은 변경이 되지 않았지만, 하위 디렉토리는 소유자가 변경된 것을 확인할 수 있다.
- wsl 에 설치된 ubuntu 기준으로 실제 서버환경에서의 도커에 확인이 필요하다.
- 현재 경험상, 가장 좋은 방법은 호스트 볼륨 디렉토리는 계정소유자가 미리 만들어 두고, docker compose 작업하는 것이 가장 나은 듯하다.
- 그리고 컨테이너 볼륨 경로가 기본이미지의 생성파일경로라면, 컨테이너 기동시, 호스트 기준으로 동기화된다.
- 호스트볼륨을 컨테이너 실행 및 설정파일경로로 볼륨을 잡을 시, 호스트볼륨경로에 파일이 없다면, 컨테이너 경로에 파일이 없으므로, 컨테이너가 올라가지 않으니, 주의하자.
반응형
'IT > WSL' 카테고리의 다른 글
오프라인 WSL / 우분투 / 도커 / 도커 컴포즈 설치기 (0) | 2024.11.22 |
---|---|
[ubuntu] grep 명령어 정리 (0) | 2024.05.24 |
[docker] kafka 명령어 (0) | 2024.05.23 |
docker compose - jenkins, github 연동 (0) | 2024.03.31 |
docker compose - nginx 설치 및 설정 (0) | 2024.03.30 |
AWS EC2 인스턴스 생성 및 트러블 슈팅 (0) | 2024.03.30 |
WSL에 도커(Docker)를 설치하자. (0) | 2024.02.28 |
WSL 을 설치해보자 (0) | 2024.02.20 |
docker 에 mysql 설치/삭제 (1) | 2024.02.17 |
윈도우용 도커(Docker)를 설치하자. (0) | 2024.02.14 |