Docker 설치는 아래 글을 참조
Docker 설치 및 명령어 정리
해당 내용은 Ubuntu 22.04.2 LTS 버전에서 진행
✔ Docker Redis Image 다운로드
# redis 최신 버전 다운(아래의 2개가 동일함)
$ docker pull redis
$ docker pull redis:latest
# redis 지정 버전 다운
$ docker pull redis:7.0.11
Docker Image 정상적으로 다운로드되었는지 아래의 명령어로 확인할 수 있다.
$ docker images
docker 명령어를 사용할 때 관리자 권한인 sudo를 사용하지 않게 권한을 주려고 하면 맨 위의 Docker 설치 및 명령어 정리 글을 참조하면 된다.
✔ Docker Redis Container 생성 및 실행
-d (Detached) 백그라운드로 실행(데몬 demon으로 실행) 옵션이다.
-p (Port) 포트에 해당한다.(redis의 default port는 6379)
--requirepass (password) redis 암호 설정
# docker run -d --name "생성할 컨테이명 작성" -p 6379:6379 "이미지명 or 이미지ID"
$ docker run -d --name redis7-container -p 6379:6379 redis:7.0.11
$ docker run -d --name redis7-container -p 6379:6379 redis:7.0.11 --requirepass "password"
Docker Redis Container가 정상적으로 생성되고 실행됐는지 아래의 명령어로 확인할 수 있다.
$ docker ps
만약 "docker ps" 명령어를 사용했는데 목록에 보이지 않는다면 "docker ps -a" 명령어를 사용해서 목록에 있다면 에러 혹은 다른 이유로 컨테이너가 실행이 안된 것이다.
"docker ps" 명령어는 실행 중인 목록이 출력되고, "docker ps -a" -a 옵션이 붙으면 정지된 컨테이너까지 모두 출력이 된다.
✔ Docker Redis 접속(redis-cli)
-i (Interactive), -t (Pseudo-tty) 옵션 사용하면 실행된 Bash Shell에 입력 및 출력
"redis-cli"로 하면 바로 redis 접속
-a (password) 설정한 암호 입력
# docker exec -it "컨테이너명" /bin/bash
$ docker exec -it redis7-container /bin/bash
$ docker exec -it redis7-container redis-cli -a "password"
Bash shell에서 redis 명령어를 사용해서 redis를 사용하면 된다.
✔ Docker Redis 자동 실행(서비스 등록)
컴퓨터를 켜고 끌 때마다 이미지의 앱 컨테이너가 종료돼서 다시 시작을 해야 하는 상황이라면 서비스에 등록하면
컴퓨터가 재시작할 때마다 자동으로 실행되게 할 수 있다.
서비스에 등록을 하기 위해서는 일단 아래와 같다.
/etc/systemd/system/redis.service 파일을 생성. 아래의 명령어를 실행한다.
$ sudo vi /etc/systemd/system/docker-redis.service
vi 편집기로 redis.service 파일이 열리고 아래의 서비스 내용을 입력한다.
[Unit]
Description=Docker redis version 7 container
After=docker.service
[Service]
RemainAfterExit=yes
ExecStart=/usr/bin/docker start redis7-container
ExecStop=/usr/bin/docker stop redis7-container
[Install]
WantedBy=multi-user.target
마지막으로 systemctl에 등록해서 활성화
$ sudo systemctl enable docker-redis.service
재부팅을 해서 확인을 해본다.
✔ Docker Container option restart(자동 실행)
서비스 등록 말고 --restart=always 옵션으로도 할 수 있다.
restart 옵션들은 다음과 같다.
- no: 기본 옵션(재시작하지 않는다)
- always: 컨테이너가 멈추면 즉각 재시작하고 수동으로 종료하면 데몬이 재시작할 때 다시 켜진다
- on-failure: 컨테이너에 에러가 발생하면 재시작하고 데몬 재시작 시에는 자동으로 실행되지 않는다
- unless-stopped: always와 비슷하지만 수동으로 컨테이너를 종료하면 재시작하지 않는다
docker update --restart=always redis7-container
docker update --restart=unless-stopped redis7-container
🔗 Reference
'DevOps' 카테고리의 다른 글
Dockerfile & docker-compose 작성 (0) | 2022.07.31 |
---|---|
Docker 설치 및 명령어 정리 (0) | 2022.07.24 |
댓글