无码人妻丰满熟妇奶水区码,麻豆一区区三,亚洲日韩欧美精品综合,亚洲无码地址

使用Docker快速搭建自己的開(kāi)發(fā)環(huán)境(使用docker快速搭建自己的開(kāi)發(fā)環(huán)境)

難免有時(shí)候需要重新安裝系統(tǒng),每次重新安裝系統(tǒng),有些軟件需要重新安裝、配置N多軟件,飯都吃了幾頓,都沒(méi)有安裝完??梢允褂?span id="syowum6" class="candidate-entity-word" data-gid="1782721469276222823">docker容器的方式,進(jìn)行快速搭建。如果使用虛擬機(jī),存儲(chǔ)在非系統(tǒng)盤,即便重裝系統(tǒng),只需要安裝虛擬機(jī)軟件,導(dǎo)入虛擬機(jī)文件,即可快速啟動(dòng)一個(gè)開(kāi)發(fā)環(huán)境。

下面為我在虛擬機(jī)中安裝的一部分容器,2core 2G ram。

  • [ghost]
  • [Nginx-ui]
  • [gitness(git)]
  • [minio]
  • [portainer]
  • [elasticsearch]
  • [postgres]
  • [redis]
  • [RabbitMQ]
  • [MySQL]

Ghost – 博客平臺(tái)

首先,我們將使用Ghost搭建一個(gè)博客平臺(tái)。用來(lái)記錄筆記,存儲(chǔ)本地。

為了本地使用域名訪問(wèn),增加環(huán)境變量-e url=http://blog.x.cn。域名為本地局域網(wǎng)dns解析。

docker run -d --name ghost -e NODE_ENV=development -e database__connection__filename='/var/lib/ghost/content/data/ghost.db' -e url=http://blog.x.cn --restart always -p 3001:2368 ghost:alpine

nginx UI – Nginx管理工具

接下來(lái),我們使用Nginx UI來(lái)管理Nginx。配置所有服務(wù)統(tǒng)一從nginx,nginx-ui可以通過(guò)web頁(yè)面進(jìn)行配置虛擬機(jī)。

docker run -dit --name=nginx-ui --restart=always -e TZ=Asia/Shanghai -v /data/nginx/nginx:/etc/nginx -v /data/nginx/nginx-ui:/etc/nginx-ui -v /data/nginx/root/html:/root/html -v /data/nginx/root/cert:/root/cert -p 80:80 -p 443:443 uozi/nginx-ui:latest

Gitness – Git倉(cāng)庫(kù)管理工具

為了方便管理代碼倉(cāng)庫(kù),我們使用Gitness。本地git倉(cāng)庫(kù)。任何代碼都可以推到本地備份起來(lái)。

docker run -d -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /data/gitness:/data --name gitness --restart always harness/Gitness

Minio – 對(duì)象存儲(chǔ)服務(wù)

我們還需要一個(gè)對(duì)象存儲(chǔ)服務(wù),這里選擇Minio。Windows可以使用rclone掛載桶到目錄。對(duì)于常用的軟件、圖片、視頻、配置文件等??梢允褂肕inio進(jìn)行存儲(chǔ),快速存快取。

docker run -d --name minio --publish 9000:9000 --publish 9001:9001 --env MINIO_ROOT_USER="minioadmin" --env MINIO_ROOT_PASSWORD="minioadmin" --volume /data:/data --restart always bitnami/minio:latest

Portainer – Docker容器管理工具

為了方便管理Docker容器,我們使用Portainer。通過(guò)網(wǎng)頁(yè)管理Docker。

docker run -d -p 9010:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /data/portainer:/data --restart=always --name portainer portainer/portainer-ce:latest

Elasticsearch – 搜索引擎

我們還需要一個(gè)搜索引擎,這里選擇Elasticsearch。

docker run -d --name=elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v /data/es:/usr/share/elasticsearch/data -v /data/es/plugins:/usr/share/elasticsearch/plugins elasticsearch:7.5.2

PostgreSQL – 關(guān)系型數(shù)據(jù)庫(kù)

為了存儲(chǔ)數(shù)據(jù),我們使用PostgreSQL。

docker run --name postgres -e POSTGRES_PASSWORD=000000 -p 5432:5432 -v /data/postgresql/data:/var/lib/postgresql/data -d postgres

Redis – 鍵值對(duì)存儲(chǔ)

我們還需要一個(gè)鍵值對(duì)存儲(chǔ)服務(wù),這里選擇Redis。

docker run --name redis -p 6379:6379 -d redis:7.2.4-alpine3.19

RabbitMQ – 消息隊(duì)列

為了實(shí)現(xiàn)消息隊(duì)列功能,我們使用RabbitMQ。用戶名密碼默認(rèn)都是guest。

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.13.0-management-alpine

MySQL – 關(guān)系型數(shù)據(jù)庫(kù)

除了PostgreSQL,我們也可以選擇MySQL作為關(guān)系型數(shù)據(jù)庫(kù)。

docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=000000 -p 3306:3306 -v /data/mysql/data:/var/lib/mysql -d mysql

Docker Registry – Docker鏡像倉(cāng)庫(kù)

最后,我們可以搭建一個(gè)私有的Docker鏡像倉(cāng)庫(kù)。如果通過(guò)域名訪問(wèn),需要https,之后,通過(guò)反向代理http也可以訪問(wèn)。

docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry --restart always --name registry registry:2

Gitness – 搭建本地Git倉(cāng)庫(kù)服務(wù)

例如,我們可以使用以下命令為Gitness添加自定義域名:

docker run -d -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /data/gitness:/data -e GITNESS_URL_BASE=http://git.x.cn --name gitness-domain --restart always harness/gitness

現(xiàn)在,我們可以使用http://git.x.cn。來(lái)訪問(wèn)Gitness。

這樣,我們就使用Docker快速搭建了一個(gè)開(kāi)發(fā)環(huán)境,包括博客平臺(tái)、Nginx管理工具、Git倉(cāng)庫(kù)管理工具、對(duì)象存儲(chǔ)服務(wù)等等。這些容器可以通過(guò)自定義域名進(jìn)行訪問(wèn)。

域名訪問(wèn),dns配置

想通過(guò)域名訪問(wèn),就得搭建本地dns服務(wù)器。dns可以使用你喜歡的任何方式進(jìn)行搭建。

域名.x.cn的二級(jí)域名,就是通過(guò)本地搭建dns服務(wù)進(jìn)行解析的。添加A記錄 *,到ip。然后使用nginx,把需要訪問(wèn)的服務(wù)綁定到域名。需要訪問(wèn)的主機(jī)的dns設(shè)置為本地dns服務(wù)器地址。

  • Linux 設(shè)置dns

cat /etc/resolv.confnameserver 192.168.31.47

  • Windows 通過(guò)圖形界面,在網(wǎng)絡(luò)中進(jìn)行設(shè)置。

所有容器,統(tǒng)一掛載了卷,到/data/*。通過(guò)單獨(dú)分配目錄,用于持久化Docker容器需要持久化的數(shù)據(jù)掛載本地的目錄。

多臺(tái)主機(jī)需要訪問(wèn)/data中的數(shù)據(jù),在擁有/data數(shù)據(jù)主機(jī)安裝配置nfs,為其他每臺(tái)主機(jī)進(jìn)行掛載nfs的盤到本地目錄。即可多臺(tái)主機(jī)像服務(wù)本地文件一樣進(jìn)行訪問(wèn)。

我非常喜歡使用Docker來(lái)搭建和管理我的開(kāi)發(fā)環(huán)境。使用Docker容器可以使我能夠快速部署和配置各種服務(wù),而不必?fù)?dān)心與其他服務(wù)之間的沖突。我可以輕松地將所需的服務(wù)組合在一起,并使用Docker容器管理工具進(jìn)行管理。

在這個(gè)示例中,我使用了Ghost作為博客平臺(tái),Nginx UI作為Nginx管理工具,Gitness作為Git倉(cāng)庫(kù)管理工具,Minio作為對(duì)象存儲(chǔ)服務(wù),Portainer作為Docker容器管理工具,Elasticsearch作為搜索引擎,PostgreSQL和MySQL作為關(guān)系型數(shù)據(jù)庫(kù),Redis作為鍵值對(duì)存儲(chǔ),RabbitMQ作為消息隊(duì)列,以及Docker Registry作為Docker鏡像倉(cāng)庫(kù)。

通過(guò)使用這些工具,我可以在本地搭建一個(gè)完整的開(kāi)發(fā)環(huán)境,并輕松地進(jìn)行開(kāi)發(fā)、部署和管理各種應(yīng)用程序。我可以使用自定義的域名來(lái)訪問(wèn)這些服務(wù),以便更方便地進(jìn)行開(kāi)發(fā)和測(cè)試。

總而言之,使用Docker可以極大地簡(jiǎn)化開(kāi)發(fā)環(huán)境的搭建和管理過(guò)程,使我能夠更專注于開(kāi)發(fā)工作而不必?fù)?dān)心底層的配置和沖突。這大大提高了我的工作效率,并使我能夠更好地管理我的項(xiàng)目。作為一個(gè)程序員,我強(qiáng)烈推薦使用Docker來(lái)構(gòu)建和管理開(kāi)發(fā)環(huán)境。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年5月9日 上午10:55
下一篇 2024年5月9日 上午11:06

相關(guān)推薦

国产欧美视频二区精品乱码七糟| 人妻久久中文字| 一本色道久久亚洲AV蜜桃小说| 日本毛片成人第一区第二区| 日本一本道资源站一区二区| 中文字幕久久一区二区| cao成人一区| 欧美激情操穴视频| 三级三级久久三级久| xxxxx亚洲一区二区| 无码内射骚逼| 粉嫩国产一区二区三区免费| 成人在线一区北条| 气质主播av| 一本久道视频一本久道二区| 天天日 天天操 天天干| 亚洲a区b久久| 久99精| 女人被狂操的视频网站| 台湾AV在线| 日韩无码宅男频道久久一区二区三区| 欧美区日韩区传媒国产尤物| 亚洲欧美一区二区自拍偷拍| 久久亚洲综合中文字幕| 自拍 偷拍亚洲| 北条麻妃一二区| 搜索中文字幕人妻| 天天射天天爽天天干| 高清无码欧洲| 丝袜九九九AV| 国产首页福利精品首页福利| 老熟女 久久| 亚洲欧美日韩色色| 亚洲人体艺术在线看| 日韩夜夜春| 麻豆视频99| 亚洲精品国产一区二久久久av色情| 日韩欧美绯色| 操美女骚逼逼Av| 亚洲第一AV小说| 国产精品久久久久久久久梁医生|