Docker 安裝 Redis、MySQL、Gogs

人生有涯,學海無涯

最近接到一個項目,由於項目的獨特性需要自己搭建一些環境,剛好之前學了一些 Docker(這裡如果大家不熟悉 Docker 可以查看公號前面松哥寫的 Docker 的系列文章),所以就決定採用 Docker 搭建,畢竟搭建方便、簡單、快速。

01、Docker 安裝 Redis

  1. 搜索鏡像 docker search redis:使用該命令可以搜索出所有的 redis 鏡像列表
  2. 如果沒有特殊版本需求,可以使用:docker pull redis 命令直接安裝最新版本 Redis
  3. 下載過後使用 docker images | grep redis 命令查看已經獲取到的鏡像
  4. 啟動 Redis 服務:docker run --name redis -d -p 6379:6379 redis --requirepass "zxcvbnmdfghjk09876"docker run:表示創建並運行一個容器;--name redis:表示創建一個名字為 redis 的容器;-d:表示後臺運行;-p 6379:6379:表示將宿主機的 6379 端口映射到容器的 6379 端口上;redis:表示依賴的鏡像名稱;--requirepass "zxcvbnmdfghjk09876" :表示設置密碼
  5. 查看運行的Redis 實例

注意事項

大家在公網服務器安裝 Redis 的時候一定要設置密碼,一定要設置密碼,一定要設置密碼

如果不設置密碼很容易被黑客利用 Redis 的漏洞進行比特幣的勒索。如果不巧遇到了那都是血的教訓!切記不要抱有僥倖心理,或者簡單的以為換個端口就可以了,端口的數量是有限制了,黑客完全可以遍歷一下就破解了。最好兩個都設置,既改端口也加密碼,雙保險,當然密碼也不要簡單到隨便一個字典庫就能破解的那種,儘量複雜點。

02、Docker 安裝 MySQL5.6

與 Redis 安裝方式類似,不過這裡獲取的是指定版本的 MySQL 。

  1. docker pull mysql:5.6;
  2. 創建相關文件夾存放數據 mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf;
  3. 進到上面創建的 mysql 文件夾中執行 docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=dswrtyui9876 -d mysql:5.6;
  4. -v:該參數表示關聯宿主機的文件夾與容器中的文件夾,將配置文件目錄,日誌文件目錄,數據文件目錄保存到宿主機上,避免在容器掛掉或者重啟後數據丟失,其他參數跟上面一致;
  5. -e MYSQL_ROOT_PASSWORD=dswrtyui9876: 表示初始化 root 用戶的密碼;
  6. 查看運行的 MySQL 實例

03、Docker 安裝 gogs

gogs 簡介

首先提到代碼管理平臺,大家首先想到的肯定是 Github 以及 Gitlab,這兩種大家平時應該用到的比較多,開源軟件用的大部分是 Github,公司內部大部分使用的是 Gitlab。Gogs 也是一種代碼管理平臺,相比 Gitlab 來說相對輕量級。

我這裡為什麼要使用 Gogs 而不使用 Gitlab 呢?主要是個人服務器配置跟不上啊!!!

嘗試了安裝 Gitlab,安裝後服務器完全跑不起來了,本來個人服務器性能就不是很好,上面還跑了幾個程序,安裝完 Gitlab 後連博客網站都打不開,果斷放棄。官方推薦的安裝 Gitlab 硬件配置是 4 核 8G,相對來說 Gogs 就輕量很多,安裝後基本對服務器沒什麼影響,而且 Docker 安裝十分方便。

安裝

  1. 拉取鏡像 docker pull gogs/gogs;
  2. 創建 gogs 文件夾,mkdir -p docker/gogs
  3. 進入文件夾,cd docker/gogs/
  4. 運行 gogs docker run -d --name=mygogs -p 10022:22 -p 10080:3000 -v /root/docker/gogs:/data gogs/gogs

/root/docker/gogs 這裡用的是 root 用戶創建的,所以可以這樣使用,或者參考 MySQL 的方式,使用$PWD


5. 啟動成功後打開網頁 `http://ip:10080`,首次打開的時候需要配置數據庫以及管理員賬號密碼信息 6. 數據庫配置,這裡需要先在 MySQL 中創建一個對應的數據庫如:gogs,以及可以配置一個對應的賬號和密碼。![image-20191003114654670](http://justdojava.com/assets/images/2019/java/image_ziyou/100305.png)

注意修改端口號:


Docker 安裝 Redis、MySQL、Gogs


可能遇到的坑

如果在上一步點擊安裝後一切正常那邊跳過這一步,如果出現 MySQL error: The maximum column size is 767 bytes,那麼很高興你遇到一個坑,不過別怕,我們可以解決它只需要對 mysql 進行參數的設置就好了。

解決方案:

  1. 使用命令 docker exec -it ced036c68e08 bash 進入上面安裝的 MySQL 容器中,並且登錄 root 賬號進入 MySQL 的交互模式中
  2. 然後輸入下面兩條命令,再次安裝即可set global innodb_file_format = BARRACUDA; set global innodb_large_prefix = ON;
  3. docker exec -it ced036c68e08 bash:通過使用 docker exec -it 進入到相應容器中並且打開終端交互模式。
  4. 安裝完成後就可以登錄創建倉庫和組織了,開始玩耍吧。


分享到:


相關文章: