這是我在使用docker后,慢慢一個(gè)個(gè)累計(jì)起來的項(xiàng)目,覺得還挺有意思的。
之后我會(huì)持續(xù)慢慢的更新新的項(xiàng)目,大伙如何有好玩的docker項(xiàng)目,歡迎來找我討論哇,我每天都會(huì)看私信的
docker搭建數(shù)據(jù)庫
使用docker安裝數(shù)據(jù)庫是非常省事的,而且想安什么類型的數(shù)據(jù)就安什么類型的數(shù)據(jù)庫,比如mysql,mongodb,redis等等,想安什么版本的數(shù)據(jù)庫就安什么版本的數(shù)據(jù)庫,非常方便,就連刪掉也是一條命令的事情!??!
例如安裝mysql:
docker pull mysql
或者指定版本的mysql:
docker pull mysql:5.7
然后就是運(yùn)行起來了
docker run -idt -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
- -idt 指的是后臺(tái)運(yùn)行,每次run的時(shí)候背熟固定加上就行了
- -p 指映射的端口
- -e 是容器內(nèi)的環(huán)境變量,這里MYSQL_ROOT_PASSWORD是指定mysql root用戶的密碼
- –name 指定容器的名字
- 最后的mysql是鏡像名,指定從哪個(gè)鏡像創(chuàng)建容器
ps: 我一般拒絕使用-v 來掛載,對(duì)新手不是非常好理解,而且針對(duì)數(shù)據(jù)庫的話每次存儲(chǔ)都要占用兩倍的空間。
然后就能之間訪問數(shù)據(jù)庫了,是不是非常方便?。?!
mysql -u root -p 123456
docker搭建私人網(wǎng)盤 nextcloud
有自己的一個(gè)網(wǎng)盤存東西是很舒服的!?。?,而且還能給同學(xué),家里人使用。
nextcloud有很多強(qiáng)大的功能,這里就不一一列舉了,更強(qiáng)大的是它還支持移動(dòng)端訪問
第一步,首先從鏡像站pull下來nextcloud的鏡像
docker pull nextcloud
第二步,保證啟動(dòng)一個(gè)docker創(chuàng)建的mysql數(shù)據(jù)庫,用來給nextcloud存儲(chǔ)數(shù)據(jù)。在第一個(gè)項(xiàng)目已經(jīng)講解了喔。
docker run -idt -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
一定要進(jìn)入數(shù)據(jù)庫中,創(chuàng)建一個(gè)空的數(shù)據(jù)庫nextcloud用來之后存入數(shù)據(jù)
mysql -u root -p 123456
CREATE DATABASE nextcloud;
exit;
第三步,啟動(dòng)nextcloud
docker run -idt --name=nextcloud --link mysql:db -p 8080:80 --restart=always nextcloud
- -idt 同樣固定模式,要背熟使用的,表示后臺(tái)啟動(dòng)
- –name 指定容器的名字
- –link mysql:db 這是表示做一個(gè)映射,mysql代表我們自己數(shù)據(jù)庫的容器名,db表示的是mysql映射到容器的名字,之后我們會(huì)用到的。
- -p 表示端口映射,8080是主機(jī)的端口,80是容器內(nèi)部的端口,我們到時(shí)候請(qǐng)求主動(dòng)的8080端口就行
- –restart=always 表示容器重啟后,nextcloud也會(huì)自動(dòng)重啟(沒啥用)
- 最后的nextcloud表示鏡像的名字
第四步,請(qǐng)求主機(jī)的ip+端口,來配置nextcloud
數(shù)據(jù)庫用戶可以是root,或者可以自己來新建數(shù)據(jù)庫用戶來管理nextcloud
這樣自己的網(wǎng)盤就搭建好了?。。?/p>
有需要網(wǎng)盤的友友也可以來找我,我給你分配一個(gè)賬號(hào),不過最多只有5G空間,以及共享的10M寬帶。
docker搭建自己的圖床
圖床可以用來存圖片,也可以方便寫博客來自動(dòng)上傳圖片形成外鏈。
我自己的圖床也是用nextcloud網(wǎng)盤來自動(dòng)實(shí)現(xiàn)的,nextcloud網(wǎng)盤怎么搭建可以參考上一個(gè)docker項(xiàng)目喔。
我上傳圖片的工具是PicGo,它有nextcloud插件可以來自動(dòng)上傳圖片,只需要配置賬號(hào)名和密碼就行啦。
docker搭建MineCraft我的世界服務(wù)器
我之前是用windows服務(wù)器開服,不是很難。但是用docker來開服的話,異常容易,2分鐘的事情。
不管是純?cè)娣?wù)器,還是forge版服務(wù)器,還是Spigot版服務(wù)器等等,只要pull網(wǎng)上對(duì)應(yīng)的鏡像就可以啦。
我是在docker hub鏡像站搜索的,里面有很多大神都diy自己Minecraft服務(wù)器
我是自己來diy的一個(gè)服務(wù)器容器,下面以我開服為例(純凈版和forge版,1.19.2 ):
第一步,我首先pull一個(gè)有java環(huán)境的鏡像(擁有原始jdk的)
docker pull openjdk:20-slim-buster
第二步,啟動(dòng)容器
docker run -idt -p 8123:8123 -p 25565:25565 -p 25575:25575 --name minecaft openjdk:20-slim-buster
- -idt 固定的設(shè)定后臺(tái)啟動(dòng),背熟就行了
- -p 8123:8123 -p 25565:25565 -p 25575:25575 其中 8123、25565、25575都是minecrart服務(wù)器運(yùn)行時(shí)要開放的端口,必須要映射的,不讓訪問不了
- –name minecaft 指定容器名
- 最后 openjdk:20-slim-buster 代表一個(gè)java環(huán)境的鏡像(擁有原始jdk的)
第三步,下載純凈版jar包,并放到容器內(nèi)部
在mojang官網(wǎng)上可以
把下載下來的jar包,放到服務(wù)器內(nèi)部,然后再copy到容器內(nèi)部,至于怎么copy到容器內(nèi)部,是docker的基本操作了,詳細(xì)可以參考我的另一篇博客,docker的基本命令總結(jié)
docker cp ./server.jar minecraft:/root
第四步,進(jìn)入容器內(nèi)部,然后使用java執(zhí)行server.jar
進(jìn)入
docker exec -it minecraft /bin/bash
啟動(dòng)
java -Xmx1024M -Xms1024M -jar server.jar nogui
第五步,修改 eula.txt,正式啟動(dòng)
vim /root/eula.txt
原版啟動(dòng):
java -Xmx1024M -Xms1024M -jar server.jar nogui
forge版啟動(dòng):
熟悉forge的都知道,需要先下載forge安裝包,forge-1.19.2-43.1.52-installer.jar ,同樣放到和server.jar一個(gè)目錄下,進(jìn)行執(zhí)行
java -jar forge-1.19.2-43.1.52-installer.jar
然后服務(wù)器就變成forge版本了,使用./run.sh來啟動(dòng)服務(wù)器,以下代表啟動(dòng)成功
./run.sh
當(dāng)然,我自己也制作了一個(gè)鏡像,如果你想直接來用的話,可以直接pull我的鏡像(不建議)
docker pull liangyuanshao/minecraft
有一塊玩我的世界的小伙伴嘛?可以的話,加我來一塊開服。
docker搭建青龍控制面板
安裝青龍面板最常用的就是自動(dòng)薅羊毛,每天自動(dòng)薅京東的羊毛,薅快手的羊毛等等。
青龍控制面板網(wǎng)站通過青龍命令來定時(shí)執(zhí)行自定義的一些腳本,這些腳本可以通過別人的“庫“拉取來得到。
比較有名的就是京東腳本,京東腳本有很多小的腳本,可以來自動(dòng)請(qǐng)求京東的接口來進(jìn)行完成自動(dòng)簽到、自動(dòng)領(lǐng)金幣、自動(dòng)領(lǐng)積分等等功能
當(dāng)然還可以自己寫Python腳本,Java腳本等等來定時(shí)執(zhí)行。我就寫過一個(gè)百度知道自動(dòng)簽到的腳本,然后每天自動(dòng)跑哈哈哈。
第一步,拉取青龍鏡像
docker pull whyour/qinglong
該鏡像是來自官方docker hub,https://hub.docker.com/r/whyour/qinglong
第二步,啟動(dòng)就行了,官方也有詳細(xì)的教程,我直接摘取官方的命令了
docker run -idt \
-v $PWD/ql:/ql/data \
-p 5700:5700 \
--name qinglong \
--hostname qinglong \
--restart unless-stopped \
whyour/qinglong:latest
- -idt 不用多解釋了,后臺(tái)啟動(dòng),固定記憶就行了
- -v 掛載,初學(xué)docker會(huì)有點(diǎn)難理解,相當(dāng)于把主機(jī)目錄和容器目錄共享,我一般都不會(huì)使用-v
- -p 青龍面板必須開放5700端口,完成映射
- –name 青龍面板容器的名稱
- –restart unless-stopped 除非面板停止,不讓不會(huì)重啟(沒啥用)
- 最后是青龍面板鏡像的名稱
安裝完后,就可以進(jìn)行拉庫了,可以拉京東的庫,拉快手的庫等等,反正是能薅到羊毛滴。這個(gè)教程就不多講了。改天出一個(gè)集合文章。
docker搭建私人郵件服務(wù)器 ewomail
私人郵件服務(wù)器可以實(shí)現(xiàn)自定義結(jié)尾的郵箱名。比如 @kunkun.cn @iloveu.com ,我自己的是 @liangyuanshao.top。而且郵箱前綴也是可以自定義的,且具有無限個(gè)。
liangyuanshao@liangyuanshao.top,1@liangyuanshao.top,kunkun@liangyuanshao.top等等
首先 要有自己的域名,而且 自定義后綴==域名
比如說,我的域名是 liangyuanshao.top ,我郵箱的后綴就為 @liangyuanshao.top
因此,你先去購買域名吧,域名查詢網(wǎng)址:https://wanwang.aliyun.com/domain/searchresult/#/?keyword=liangyuanshao.cn
第一步,拉取一個(gè)centos鏡像
docker pull centos:centos7
為什么不推薦拉取別人現(xiàn)成的ewomail鏡像?
其實(shí)很簡(jiǎn)單,根據(jù)ewomail官網(wǎng)上的介紹,其實(shí)搭建ewomail一行代碼代碼就能搞定,之后我會(huì)提到。而且我嘗試過使用其它人的docker來搭建,很麻煩,最后都沒有成功。
第二步,創(chuàng)建ewomail容器
docker run -idt \
-p 25:25 \
-p 109:109 \
-p 110:110 \
-p 143:143 \
-p 465:465 \
-p 587:587 \
-p 993:993 \
-p 995:995 \
-p 80:80 \
-p 8080:8080 \
--name ewomail centos:centos7
-
-idt 固定模式,表示后臺(tái)啟動(dòng),記住就行了
-
-p的一系列端口,這些端口映射都是需要開放的,因?yàn)閑womail官方文檔里面已經(jīng)寫了
-
–name 表示啟動(dòng)容器的名字,ewomail
-
最后表示從哪個(gè)鏡像來生成容器
注意:
假如說你是騰訊云服務(wù)器,很可惜,25端口是不開放的,你無法搭建自己的郵件服務(wù)器。它說是為了凈化網(wǎng)絡(luò)環(huán)境。
假如說你是阿里云服務(wù)器,25端口是被占用的,你必須先kill掉對(duì)應(yīng)端口的進(jìn)程,然后再啟動(dòng)才可以
netstat -nlp | grep 25 # 查找對(duì)應(yīng)進(jìn)程id
kill xxxxx # 然后殺掉
第三步,創(chuàng)建,容器進(jìn)入容器內(nèi),完成搭建
進(jìn)入容器
docker exec -it ewomail /bin/bash
安裝wget,因?yàn)橐话愕男耤entos容器是沒有wget的
apt-update
apt install wget
一鍵安裝,注意,后面的liangyuanshao.top要換成你自己的域名
wget -c https://down.ewomail.com/install-03.sh && sh install-03.sh liangyuanshao.top
第四步,進(jìn)入后臺(tái)完成配置
后臺(tái)端口是8010,你可以訪問你的服務(wù)器+加端口8010來進(jìn)行后臺(tái)設(shè)置了
剛開始默認(rèn)用戶: admin
默認(rèn)密碼: ewomail123
進(jìn)入郵箱系統(tǒng)設(shè)置,完成ewomail的域名配置,這個(gè)域名一定是要你已經(jīng)購買的域名
第五步,創(chuàng)建郵箱用戶
然后訪問服務(wù)器8000端口,登錄就行啦
第六步,域名解析
進(jìn)入到域名解析頁面,需要解析的項(xiàng)有7項(xiàng),你對(duì)著做就可以了
1.12.68.28要換成你自己的云服務(wù)器ip,liangyuanshao.top換成你自己的域名
然后等待一段時(shí)間后,就能用給qq郵箱發(fā)送郵件了,因?yàn)橛蛎馕鲆獛追昼?/strong>
docker搭建nginx轉(zhuǎn)發(fā)服務(wù)器
同樣和搭建數(shù)據(jù)庫一樣,非常容易
第一步,拉取鏡像
docker pull ngnix:latest
第二步,運(yùn)行
-p 指定需要開放的端口,前面的80是主機(jī)的,后面的80是容器內(nèi)的端口
docker run -p 80:80 --name ngnix ngnix:latest
第三步,配置
進(jìn)入到容器內(nèi),完成配置文章來源:http://www.zghlxwxcb.cn/news/detail-465712.html
docker exec -it ngnix /bin/bash
#一般沒有vim,可以先安裝vim
apt-update
apt install vim
- /usr/sbin/nginx:主程序
- /etc/nginx:存放配置文件
- /usr/share/nginx:存放靜態(tài)文件
- /var/log/nginx:存放日志
持續(xù)會(huì)更新噢!!??文章來源地址http://www.zghlxwxcb.cn/news/detail-465712.html
到了這里,關(guān)于【Docker】手把手教你搭建好玩的docker項(xiàng)目合集的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!