iT邦幫忙

2023 iThome 鐵人賽

0
DevOps

跟著菜鳥手把手用Docker建立服務系列 第 12

Day12 - 菜鳥們學以致用DockerFile Redis篇

  • 分享至 

  • xImage
  •  

在前面我們嘗試設計一個 Mysql,這次我們來建立一個 Redis,當然你會懷疑為何要特別拿 Mysql 跟 Redis來實作講解Dockefile呢,其實是為了後續要在 Django 上一起實作給大家看,讓大家更了解Docker 使用的意義


在設計 Redis 的 Dcokerfile 之前,先想想看需求是什麼,這樣才能邊設計邊找資源
需求:

  1. 設定Redis帳號密碼
  2. 設定Port
  3. 設定Log

建立一個Dockerfile

FROM redis:latest

# 複製 redis.conf 檔案到容器中
COPY redis.conf /usr/local/etc/redis/redis.conf

RUN mkdir /home/redis/
RUN chmod 777 /home/redis/

# 執行 redis server 並且使用自訂的 redis.conf 檔案
CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]
  • 這邊因為太多設定要寫了,所以直接用Copy方式來節省Image容量

redis.conf

# Redis 7.0 配置文件

# 監聽的端口號
port 6379

# 監聽的 IP 地址
#bind 127.0.0.1

# 是否以守護進程模式運行
#daemonize yes

# 以哪個用戶身份運行 Redis 服務
user redis

# 密碼設置,設置密碼後需使用該密碼才能訪問 Redis 服務
requirepass ******* 

# 日誌文件的位置和名稱
logfile /home/redis/redis.log

# 持久化保存數據的方式,這裡使用RDB方式進行持久化,並設置了快照的保存頻率
#save 900 1
#save 300 10
#save 60 10000

# 使用AOF持久化方式時,每秒同步數據到磁盤的次數
# appendonly yes
# appendfsync everysec

# 設置最大連接數和最大客戶端數
#maxclients 10000
#maxmemory 2gb

# 限制內存使用的策略
# maxmemory-policy volatile-lru
  • redis.conf有許多設定可以用,我們是菜鳥所以我們先找基本的功能來講解,這樣才不會太艱深,後續想要嘗試其他功能大家可以自行作測試

建立Redis Image

docker build -t "Image Name" .

啟動Redis Container

docker run --name "Container Name" -p 6379:6379 -d "Image Name"

我們進入 Redis Container 查看是否與Dockerfile設計的一樣

docker exec -it "Container Name" bash

確認redis.confg是否跟我們當初在本機設計的redis.confg一樣

cat /usr/local/etc/redis/redis.conf

https://ithelp.ithome.com.tw/upload/images/20231219/20158512u2FhXs0Uj1.png

連線Redis

redis-cli

https://ithelp.ithome.com.tw/upload/images/20231219/201585122qbJaf2ZVE.png

輸入Redis密碼

AUTH *****

https://ithelp.ithome.com.tw/upload/images/20231219/20158512cQs6uBjyvi.png


這篇就不會太多實作圖片的證明,因為目的是讓菜鳥們能自己融會貫通一下,有自己思考的空間,總該要放手讓菜鳥自己去試試看吧/images/emoticon/emoticon08.gif


上一篇
Day11 - 菜鳥們學以致用DockerFile MySql篇
下一篇
Day13 - 一起實現菜鳥的成果Django
系列文
跟著菜鳥手把手用Docker建立服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言