一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Linux - Docker Linux快速安裝及Nginx部署

Docker Linux快速安裝及Nginx部署

2024-01-04 18:20未知服務器之家 Linux

來源:程序新視界 前言 最近正在部署一套新的Linux服務器環境,基于Docker來部署所有的應用,順便整理了一套經過驗證的操作手冊,以便大家遇到類似需求時,可以直接拿來用。 本文會涉及以下知識點:Docker的Linux安裝和卸載、

來源:程序新視界

Docker Linux快速安裝及Nginx部署

前言

最近正在部署一套新的Linux服務器環境,基于Docker來部署所有的應用,順便整理了一套經過驗證的操作手冊,以便大家遇到類似需求時,可以直接拿來用。

本文會涉及以下知識點:Docker的Linux安裝和卸載、Docker用戶組的創建、基于Docker的Nginx部署及簡單配置。

Docker的Linux安裝

筆者這里采用的是TencentOS Server的云服務器,完全兼容CentOS 8版本。在安裝時,大家可進行版本對照。

卸載舊版本

如果服務器是新購買的,可跳過該步驟。如果服務器上已經安裝過Docker,則可使用如下命令進行卸載:

yumremovedocker\
docker-client\
docker-client-latest\
docker-common\
docker-latest\
docker-latest-logrotate\
docker-logrotate\
docker-engine

當然,如果安裝的過程中出現錯誤希望重新安裝,也可采用上面的命令進行卸載。

添加Docker鏡像源

直接訪問Docker官方的鏡像源進行安裝、下載時往往會出現網絡問題,在使用時可先修改Docker的鏡像源。

通常可用使用阿里云地址、騰訊云地址等,這里因為使用的是騰訊云服務器,則使用騰訊云的鏡像源。

執行以下命令,添加鏡像源:

dnfconfig-manager--add-repo=

其中,dnf命令是 "Dandified Yum" 的簡稱,它是一種軟件包管理器,用于自動安裝、更新和刪除包,同時也處理依賴關系。它是Fedora、CentOS和RHEL等基于RPM的Linux發行版的默認包管理器。

在CentOS 8之前,yum是默認的包管理器。從CentOS 8開始,dnf成為默認的包管理器,但是yum仍然可以使用。如果你的操作系統暫不支持dnf命令,可采用傳統的yum命令。

可執行以下命令,查看已添加的Docker鏡像源:

dnflistdocker-ce

#
如果是yum命令,
yumlistdocker-ce

上述命令會列出所有可用的docker-ce軟件包。

為了兼容性,后續命令我們統一采用yum命令來進行安裝和操作。

Docker安裝及啟動

在Docker安裝之前,往往需要進行一些基礎依賴的安裝,同時也會設置隨機啟動的操作。

Docker安裝

安裝所需依賴包:

yuminstallyum-utilsdevice-mapper-persistent-datalvm2

在安裝之前,查詢可安裝的版本(可省略):

yumlistdocker-ce--showduplicates|sort-r

下面是安裝Docker的重點,只有一步:

yuminstalldocker-cedocker-ce-clicontainerd.io

驗證是否安裝成功:

dockerversion

#
顯示信息
Client:DockerEngine-Community
Version:24.0.6
APIversion:1.43
Goversion:go1.20.7
Gitcommit:ed223bc
Built:MonSep412:33:072023
OS/Arch:linux/amd64
Context:default
CannotconnecttotheDockerdaemonatunix:///var/run/docker.sock.Isthedockerdaemonrunning?

Docker啟動

啟動Docker服務和設置開機啟動:

#設置開機啟動
systemctlenabledocker
#啟動Docker
systemctlstartdocker

啟動完成之后,可執行如下命令進行驗證是否安裝成功:

dockerrunhello-world

如果控制臺打印類似如下信息,則表示安裝啟動成功:

Unabletofindimage'hello-world:latest'locally
latest:Pullingfromlibrary/hello-world
c1ec31eb5944:Pullcomplete
Digest:sha256:ac69084025c660510933cca701f615283cdbb3aa0963188770b54c31c8962493
Status:Downloadednewerimageforhello-world:latest

HellofromDocker!
Thismessageshowsthatyourinstallationappearstobeworkingcorrectly.

Docker用戶組管理

默認情況下,Docker命令會使用Unix socket與Docker引擎通訊。而只有root用戶和docker組的用戶才可以訪問 Docker引擎的Unix socket。

出于安全考慮,一般Linux系統上不會直接使用root用戶。因此,更好地做法是將需要使用docker的用戶加入docker用戶組。

在Centos8下建立docker用戶組并使用docker用戶來操作docker,可以按照以下步驟進行。

以root用戶身份登錄CentOS 8系統,創建一個名為docker的新用戶組:

sudogroupadddocker

接下來,添加用戶到docker組。將username替換為你的用戶名:

sudousermod-aGdockerusername

這個命令將把你的用戶添加到docker組。

驗證你的用戶是否已經被添加到docker組中,運行以下命令:

groupsusername

如果一切順利,你應該能看到docker出現在列出的組中。

讓上述改動生效需要重新登錄或者使用以下命令:

newgrp docker

最后,驗證是否可以無需sudo權限就能運行Docker。運行以下命令:

docker run hello-world

如果一切順利,你應該能看到hello-world程序的輸出。

基于Docker的Nginx部署

這里講解一下Nginx的安裝步驟以及nginx.conf的簡單配置。

NGINX鏡像安裝

在安裝Nginx的Docker鏡像之前,可先進行鏡像搜索:

dockersearchnginx

從搜索到鏡像中選擇符合條件的鏡像,然后進行拉取:

dockerpullnginx:latest

拉取鏡像之后,就可以進行對應鏡像的配置和啟動容器了。

這里為了獲取Nginx的基礎配置文件,先簡單啟動一個Nginx容器,當獲得對應的配置文件之后,刪除該容器,再重新啟動一個正式的容器。

#啟動一個容器
dockerrun-d--namenginxnginx
#查看容器獲取容器ID或直接使用名字
dockercontainerls
#在當前目錄下創建目錄:conf
mkdirconf
#拷貝容器內Nginx默認配置文件到本地當前目錄下的conf目錄($PWD當前全路徑)
dockercpnginx:/etc/nginx/nginx.conf$PWD/conf
dockercpnginx:/etc/nginx/conf.d$PWD/conf

#
停止容器
dockercontainerstopnginx
#刪除容器
dockercontainerrmnginx

#
在當前目錄下創建目錄:html放靜態文件
mkdirhtml

通過上述操作,可獲得宿主機上一些關于Nginx的基礎配置和目錄文件。

下面可以進行Nginx容器的正式部署了:

dockerrun-d-p80:80\
-p443:443\
--namenginx\
-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

上述命令的基本解釋:

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

需要注意的事,一般啟動Nginx容器時,需要同時把容器的80端口和443端口同時與宿主機進行映射,以免從HTTP請求向HTTPS請求切換時出現容器端口未映射的情況。

NGINX配置

這里展示一個簡單的Nginx配置:

server{
listen443ssl;
server_name申請過證書的域名
ssl_certificate/etc/nginx/conf.d/certs/xxxx.pem;
ssl_certificate_key/etc/nginx/conf.d/certs/xxxx.key;
ssl_session_timeout5m;
ssl_protocolsTLSv1TLSv1.1TLSv1.2;
ssl_ciphersALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_cipherson;
location/{
root/usr/share/nginx/html/admin;
indexindex.htmlindex.htm;
}
location/admin{
alias/usr/share/nginx/html/admin;
indexindex.htmlindex.htm;
}
location/s{
proxy_pass
}
}

在上述配置中,重點關注一下HTTPS的配置,其中ssl_certificatessl_certificate_key兩項涉及到的證書文件,通常會放在/etc/nginx/conf.d下,這樣即可在宿主機對應的目錄下替換證書文件以及修改Nginx的配置文件了。

當然,Nginx的日志輸出,通常也存儲在容器掛載的宿主機對應文件內。

小結

至此,關于Linux(CentOS 8)中如何修改鏡像源,如何安裝Docker,如何啟動Docker,如何配置獨立的Docker用戶組,如何部署Nginx容器及Nginx的簡單配置等已經講解完畢。希望能夠對大家有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲v成人天堂影视 | 色吧导航 | 色老头oldmoneyvideos | 99福利视频导航 | 精彩国产萝视频在线 | 美女的让男人桶爽网站 | 果冻传媒新在线观看免费 | 99热久热这里只精品 | 亚洲精品国产成人 | 我把校花黑色蕾丝胸罩脱了 | 香蕉大久久 | 4tube高清性欧美 | 国产成人看片免费视频观看 | 91高清国产视频 | 免费观看欧美成人禁片 | 爽爽影院免费观看 | 王雨纯羞羞 | 日本在线国产 | 亚洲无线一二三区2021 | 国产伦精品一区二区三区免 | 日本肉体xxxx | 国产人妖xxxxx免费看 | 青青草伊人久久 | 国产香蕉一区二区精品视频 | 男人桶女下面60分钟视频 | 狠狠色狠狠色综合婷婷tag | 亚洲一区二区精品视频 | 无码AV熟妇素人内射V在线 | 日本高清有码视频 | 欧美亚洲天堂网 | 四虎成人影院网址 | 32pao强力打造免费高速高 | 成人在线观看免费视频 | 欧美人与物videos另类3d | 亚洲白拍 | 91天堂一区二区 | 草莓香蕉绿巨人丝瓜榴莲18 | 亚洲国产综合久久久无码色伦 | 国产日韩精品一区二区在线观看播放 | 亚洲视频一区二区在线观看 | 国产高清在线播放免费观看 |