日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Docker Linux快速安裝及Nginx部署

來源: 責(zé)編: 時間:2024-01-04 09:33:34 438觀看
導(dǎo)讀前言最近正在部署一套新的Linux服務(wù)器環(huán)境,基于Docker來部署所有的應(yīng)用,順便整理了一套經(jīng)過驗證的操作手冊,以便大家遇到類似需求時,可以直接拿來用。本文會涉及以下知識點:Docker的Linux安裝和卸載、Docker用戶組的創(chuàng)建、

前言

最近正在部署一套新的Linux服務(wù)器環(huán)境,基于Docker來部署所有的應(yīng)用,順便整理了一套經(jīng)過驗證的操作手冊,以便大家遇到類似需求時,可以直接拿來用。7bn28資訊網(wǎng)——每日最新資訊28at.com

本文會涉及以下知識點:Docker的Linux安裝和卸載、Docker用戶組的創(chuàng)建、基于Docker的Nginx部署及簡單配置。7bn28資訊網(wǎng)——每日最新資訊28at.com

Docker的Linux安裝

筆者這里采用的是TencentOS Server的云服務(wù)器,完全兼容CentOS 8版本。在安裝時,大家可進行版本對照。7bn28資訊網(wǎng)——每日最新資訊28at.com

卸載舊版本

如果服務(wù)器是新購買的,可跳過該步驟。如果服務(wù)器上已經(jīng)安裝過Docker,則可使用如下命令進行卸載:7bn28資訊網(wǎng)——每日最新資訊28at.com

yum remove docker /docker-client /docker-client-latest /docker-common /docker-latest /docker-latest-logrotate /docker-logrotate /docker-engine

當(dāng)然,如果安裝的過程中出現(xiàn)錯誤希望重新安裝,也可采用上面的命令進行卸載。7bn28資訊網(wǎng)——每日最新資訊28at.com

添加Docker鏡像源

直接訪問Docker官方的鏡像源進行安裝、下載時往往會出現(xiàn)網(wǎng)絡(luò)問題,在使用時可先修改Docker的鏡像源。7bn28資訊網(wǎng)——每日最新資訊28at.com

通常可用使用阿里云地址、騰訊云地址等,這里因為使用的是騰訊云服務(wù)器,則使用騰訊云的鏡像源。7bn28資訊網(wǎng)——每日最新資訊28at.com

執(zhí)行以下命令,添加鏡像源:7bn28資訊網(wǎng)——每日最新資訊28at.com

dnf config-manager --add-repo=https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo

其中,dnf命令是 "Dandified Yum" 的簡稱,它是一種軟件包管理器,用于自動安裝、更新和刪除包,同時也處理依賴關(guān)系。它是Fedora、CentOS和RHEL等基于RPM的Linux發(fā)行版的默認(rèn)包管理器。7bn28資訊網(wǎng)——每日最新資訊28at.com

在CentOS 8之前,yum是默認(rèn)的包管理器。從CentOS 8開始,dnf成為默認(rèn)的包管理器,但是yum仍然可以使用。如果你的操作系統(tǒng)暫不支持dnf命令,可采用傳統(tǒng)的yum命令。7bn28資訊網(wǎng)——每日最新資訊28at.com

可執(zhí)行以下命令,查看已添加的Docker鏡像源:7bn28資訊網(wǎng)——每日最新資訊28at.com

dnf list docker-ce# 如果是yum命令,yum list docker-ce

上述命令會列出所有可用的docker-ce軟件包。7bn28資訊網(wǎng)——每日最新資訊28at.com

為了兼容性,后續(xù)命令我們統(tǒng)一采用yum命令來進行安裝和操作。7bn28資訊網(wǎng)——每日最新資訊28at.com

Docker安裝及啟動

在Docker安裝之前,往往需要進行一些基礎(chǔ)依賴的安裝,同時也會設(shè)置隨機啟動的操作。7bn28資訊網(wǎng)——每日最新資訊28at.com

Docker安裝

安裝所需依賴包:7bn28資訊網(wǎng)——每日最新資訊28at.com

yum install yum-utils device-mapper-persistent-data lvm2

在安裝之前,查詢可安裝的版本(可省略):7bn28資訊網(wǎng)——每日最新資訊28at.com

yum list docker-ce --showduplicates | sort -r

下面是安裝Docker的重點,只有一步:7bn28資訊網(wǎng)——每日最新資訊28at.com

yum install docker-ce docker-ce-cli containerd.io

驗證是否安裝成功:7bn28資訊網(wǎng)——每日最新資訊28at.com

docker version#顯示信息Client: Docker Engine - Community Version:           24.0.6 API version:       1.43 Go version:        go1.20.7 Git commit:        ed223bc Built:             Mon Sep  4 12:33:07 2023 OS/Arch:           linux/amd64 Context:           defaultCannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Docker啟動

啟動Docker服務(wù)和設(shè)置開機啟動:7bn28資訊網(wǎng)——每日最新資訊28at.com

# 設(shè)置開機啟動systemctl enable docker# 啟動Dockersystemctl start docker

啟動完成之后,可執(zhí)行如下命令進行驗證是否安裝成功:7bn28資訊網(wǎng)——每日最新資訊28at.com

docker run hello-world

如果控制臺打印類似如下信息,則表示安裝啟動成功:7bn28資訊網(wǎng)——每日最新資訊28at.com

Unable to find image 'hello-world:latest' locallylatest: Pulling from library/hello-worldc1ec31eb5944: Pull completeDigest: sha256:ac69084025c660510933cca701f615283cdbb3aa0963188770b54c31c8962493Status: Downloaded newer image for hello-world:latestHello from Docker!This message shows that your installation appears to be working correctly.

Docker用戶組管理

默認(rèn)情況下,Docker命令會使用Unix socket與Docker引擎通訊。而只有root用戶和docker組的用戶才可以訪問 Docker引擎的Unix socket。7bn28資訊網(wǎng)——每日最新資訊28at.com

出于安全考慮,一般Linux系統(tǒng)上不會直接使用root用戶。因此,更好地做法是將需要使用docker的用戶加入docker用戶組。7bn28資訊網(wǎng)——每日最新資訊28at.com

在Centos8下建立docker用戶組并使用docker用戶來操作docker,可以按照以下步驟進行。7bn28資訊網(wǎng)——每日最新資訊28at.com

以root用戶身份登錄CentOS 8系統(tǒng),創(chuàng)建一個名為docker的新用戶組:7bn28資訊網(wǎng)——每日最新資訊28at.com

sudo groupadd docker

接下來,添加用戶到docker組。將username替換為你的用戶名:7bn28資訊網(wǎng)——每日最新資訊28at.com

sudo usermod -aG docker username

這個命令將把你的用戶添加到docker組。7bn28資訊網(wǎng)——每日最新資訊28at.com

驗證你的用戶是否已經(jīng)被添加到docker組中,運行以下命令:7bn28資訊網(wǎng)——每日最新資訊28at.com

groups username

如果一切順利,你應(yīng)該能看到docker出現(xiàn)在列出的組中。7bn28資訊網(wǎng)——每日最新資訊28at.com

讓上述改動生效需要重新登錄或者使用以下命令:7bn28資訊網(wǎng)——每日最新資訊28at.com

newgrp docker

最后,驗證是否可以無需sudo權(quán)限就能運行Docker。運行以下命令:7bn28資訊網(wǎng)——每日最新資訊28at.com

docker run hello-world

如果一切順利,你應(yīng)該能看到hello-world程序的輸出。7bn28資訊網(wǎng)——每日最新資訊28at.com

基于Docker的Nginx部署

這里講解一下Nginx的安裝步驟以及nginx.conf的簡單配置。7bn28資訊網(wǎng)——每日最新資訊28at.com

NGINX鏡像安裝

在安裝Nginx的Docker鏡像之前,可先進行鏡像搜索:7bn28資訊網(wǎng)——每日最新資訊28at.com

docker search nginx

從搜索到鏡像中選擇符合條件的鏡像,然后進行拉取:7bn28資訊網(wǎng)——每日最新資訊28at.com

docker pull nginx:latest

拉取鏡像之后,就可以進行對應(yīng)鏡像的配置和啟動容器了。7bn28資訊網(wǎng)——每日最新資訊28at.com

這里為了獲取Nginx的基礎(chǔ)配置文件,先簡單啟動一個Nginx容器,當(dāng)獲得對應(yīng)的配置文件之后,刪除該容器,再重新啟動一個正式的容器。7bn28資訊網(wǎng)——每日最新資訊28at.com

#啟動一個容器docker run -d --name nginx nginx# 查看 容器 獲取容器ID 或直接使用名字docker container ls# 在當(dāng)前目錄下創(chuàng)建目錄:conf mkdir conf# 拷貝容器內(nèi) Nginx 默認(rèn)配置文件到本地當(dāng)前目錄下的 conf 目錄($PWD當(dāng)前全路徑)docker cp nginx:/etc/nginx/nginx.conf $PWD/confdocker cp nginx:/etc/nginx/conf.d $PWD/conf# 停止容器docker container stop nginx# 刪除容器docker container rm nginx# 在當(dāng)前目錄下創(chuàng)建目錄:html放靜態(tài)文件mkdir html

通過上述操作,可獲得宿主機上一些關(guān)于Nginx的基礎(chǔ)配置和目錄文件。7bn28資訊網(wǎng)——每日最新資訊28at.com

下面可以進行Nginx容器的正式部署了:7bn28資訊網(wǎng)——每日最新資訊28at.com

docker run -d -p 80:80  /              -p 443:443  / --name nginx / -v /home/worker/nginx/html:/usr/share/nginx/html / -v /home/worker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf / -v /home/worker/nginx/conf/conf.d:/etc/nginx/conf.d / -v /home/worker/nginx/logs:/var/log/nginx / nginx

上述命令的基本解釋:7bn28資訊網(wǎng)——每日最新資訊28at.com

  • -d:表示在一直在后臺運行容器。
  • -p 80:80:對端口進行映射,將本地80端口映射到容器內(nèi)部的80端口。443端口的映射同理。
  • --name:設(shè)置創(chuàng)建的容器名稱。
  • -v:將本地目錄(文件)掛載到容器指定目錄。

需要注意的事,一般啟動Nginx容器時,需要同時把容器的80端口和443端口同時與宿主機進行映射,以免從HTTP請求向HTTPS請求切換時出現(xiàn)容器端口未映射的情況。7bn28資訊網(wǎng)——每日最新資訊28at.com

NGINX配置

這里展示一個簡單的Nginx配置:7bn28資訊網(wǎng)——每日最新資訊28at.com

server {    listen 443 ssl;    server_name www.xxx.com; # 申請過證書的域名    ssl_certificate     /etc/nginx/conf.d/certs/xxxx.pem;    ssl_certificate_key /etc/nginx/conf.d/certs/xxxx.key;    ssl_session_timeout 5m;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;    ssl_prefer_server_ciphers on;    location / {        root  /usr/share/nginx/html/admin;        index  index.html index.htm;    }    location /admin {        alias   /usr/share/nginx/html/admin;        index  index.html index.htm;    }    location /s {   proxy_pass http://127.0.0.1:8080/;    }}

在上述配置中,重點關(guān)注一下HTTPS的配置,其中ssl_certificate和ssl_certificate_key兩項涉及到的證書文件,通常會放在/etc/nginx/conf.d下,這樣即可在宿主機對應(yīng)的目錄下替換證書文件以及修改Nginx的配置文件了。7bn28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)然,Nginx的日志輸出,通常也存儲在容器掛載的宿主機對應(yīng)文件內(nèi)。7bn28資訊網(wǎng)——每日最新資訊28at.com

小結(jié)

至此,關(guān)于Linux(CentOS 8)中如何修改鏡像源,如何安裝Docker,如何啟動Docker,如何配置獨立的Docker用戶組,如何部署Nginx容器及Nginx的簡單配置等已經(jīng)講解完畢。希望能夠?qū)Υ蠹矣兴鶐椭?span style="display:none">7bn28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-57403-0.htmlDocker Linux快速安裝及Nginx部署

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 深入探討Java中的JDK代理與CGLIB代理

下一篇: Python 編譯器和集成開發(fā)環(huán)境(IDE):選擇最適合您的工具

標(biāo)簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 胶南市| 辽宁省| 抚远县| 威海市| 尼木县| 新乐市| 玛曲县| 河北省| 城固县| 留坝县| 确山县| 克东县| 水富县| 盐源县| 扬中市| 曲靖市| 丹东市| 若羌县| 辽宁省| 蒲城县| 张家港市| 上高县| 铜梁县| 同心县| 祁东县| 施甸县| 新津县| 庆云县| 怀集县| 米易县| 石狮市| 安阳市| 德安县| 津市市| 遂川县| 青龙| 新宾| 江西省| 阿城市| 贡觉县| 胶南市|