欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker新手實(shí)踐及部署NGINX的步驟詳解

 更新時(shí)間:2017年11月28日 08:37:42   作者:Awebone  
最近工作中有個(gè)需求, 用docker去部署nginx的靜態(tài)服務(wù)器。仔細(xì)觀察這個(gè)命題,看似不難,但實(shí)際其中的注意點(diǎn)很多,新手很容易搞錯(cuò),所以下面這篇文章主要給大家介紹了關(guān)于Docker新手實(shí)踐及部署NGINX的步驟,需要的朋友可以參考下。

docker是什么

官方文檔入口

在知乎上看到關(guān)于docker的思想講的挺好的:如何通俗解釋Docker是什么?。這里直接引用了。

Docker的思想來自于集裝箱,集裝箱解決了什么問題?在一艘大船上,可以把貨物規(guī)整的擺放起來。并且各種各樣的貨物被集裝箱標(biāo)準(zhǔn)化了,集裝箱和集裝箱之間不會(huì)互相影響。那么我就不需要專門運(yùn)送水果的船和專門運(yùn)送化學(xué)品的船了。只要這些貨物在集裝箱里封裝的好好的,那我就可以用一艘大船把他們都運(yùn)走。

docker就是類似的理念。現(xiàn)在都流行云計(jì)算了,云計(jì)算就好比大貨輪。docker就是集裝箱。

1.不同的應(yīng)用程序可能會(huì)有不同的應(yīng)用環(huán)境,比如.net開發(fā)的網(wǎng)站和php開發(fā)的網(wǎng)站依賴的軟件就不一樣,如果把他們依賴的軟件都安裝在一個(gè)服務(wù)器上就要調(diào)試很久,而且很麻煩,還會(huì)造成一些沖突。比如IIS和Apache訪問端口沖突。這個(gè)時(shí)候你就要隔離.net開發(fā)的網(wǎng)站和php開發(fā)的網(wǎng)站。常規(guī)來講,我們可以在服務(wù)器上創(chuàng)建不同的虛擬機(jī)在不同的虛擬機(jī)上放置不同的應(yīng)用,但是虛擬機(jī)開銷比較高。docker可以實(shí)現(xiàn)虛擬機(jī)隔離應(yīng)用環(huán)境的功能,并且開銷比虛擬機(jī)小,小就意味著省錢了。

2.你開發(fā)軟件的時(shí)候用的是Ubuntu,但是運(yùn)維管理的都是centos,運(yùn)維在把你的軟件從開發(fā)環(huán)境轉(zhuǎn)移到生產(chǎn)環(huán)境的時(shí)候就會(huì)遇到一些Ubuntu轉(zhuǎn)centos的問題,比如:有個(gè)特殊版本的數(shù)據(jù)庫(kù),只有Ubuntu支持,centos不支持,在轉(zhuǎn)移的過程當(dāng)中運(yùn)維就得想辦法解決這樣的問題。這時(shí)候要是有docker你就可以把開發(fā)環(huán)境直接封裝轉(zhuǎn)移給運(yùn)維,運(yùn)維直接部署你給他的docker就可以了。而且部署速度快。

3.在服務(wù)器負(fù)載方面,如果你單獨(dú)開一個(gè)虛擬機(jī),那么虛擬機(jī)會(huì)占用空閑內(nèi)存的,docker部署的話,這些內(nèi)存就會(huì)利用起來。

總之docker就是集裝箱原理。

centos7安裝docker

使用 yum 安裝(CentOS 7下)

注:Docker 要求 CentOS 系統(tǒng)的內(nèi)核版本高于 3.10 ,查看本頁(yè)面的前提條件來驗(yàn)證你的CentOS 版本是否支持 Docker 。

#查看你當(dāng)前的內(nèi)核版本
uname -r

#安裝 Docker
sudo yum -y install docker

#啟動(dòng) Docker 后臺(tái)服務(wù)
sudo service docker start

#測(cè)試運(yùn)行 hello-world,由于本地沒有hello-world這個(gè)鏡像,所以會(huì)下載一個(gè)hello-world的鏡像,并在容器內(nèi)運(yùn)行。
sudo docker run hello-world

使用腳本安裝 Docker

#確保 yum 包更新到最新
sudo yum update

#執(zhí)行 Docker 安裝腳本,執(zhí)行這個(gè)腳本會(huì)添加 docker.repo 源并安裝 Docker。
curl -fsSL https://get.docker.com/ | sh

#啟動(dòng) Docker 進(jìn)程
sudo service docker start

#驗(yàn)證 docker 是否安裝成功并在容器中執(zhí)行一個(gè)測(cè)試的鏡像
sudo docker run hello-world

Docker容器基本操作

#運(yùn)行Ubuntu鏡像,并創(chuàng)建一個(gè)交互式的環(huán)境
sudo docker run -it ubuntu bash

#查看運(yùn)行進(jìn)程
sudo docker ps -a

#查看容器鏡像詳細(xì)信息
sudo docker inspect 容器名<ID or name>

#重新啟動(dòng)開始的容器
sudo docker start 容器名

#刪除已有容器
sudo docker rm 容器名


Docker容器開啟守護(hù)式進(jìn)程

第一種方法:

#進(jìn)入交互式的環(huán)境
sudo docker run -it ubuntu bash

#按Ctrl+P 和Ctrl+Q退出

#查看運(yùn)行進(jìn)程
sudo docker ps

#附加到正在運(yùn)行的容器
sudo docker attach 容器名<ID or name>

第二種方法:

#進(jìn)入交互式的環(huán)境
sudo docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"

#查看運(yùn)行進(jìn)程
sudo docker ps

#使用日志命令查看正在運(yùn)行的容器
sudo docker logs -tf --tail 0 容器名<ID or name>

#查看容器內(nèi)的進(jìn)程
sudo docker top 容器名

#在運(yùn)行中的容器中運(yùn)行新的進(jìn)程
sudo docker exec -itd 容器名

Docker容器停止守護(hù)式進(jìn)程

第一種方法:發(fā)送命令,等待停止

sudo docker stop 容器名

第二種方法:直接殺死

sudo docker kill 容器名

Docker中部署靜態(tài)網(wǎng)站

  • Nginx部署流程
  • 創(chuàng)建映射80端口的交互式容器
  • 安裝Nginx
  • 安裝文本編輯器VIM
  • 創(chuàng)建靜態(tài)頁(yè)面
  • 修改Nginx配置文件
  • 運(yùn)行Nginx
  • 驗(yàn)證網(wǎng)站訪問
#新建容器web,設(shè)置容器端口映射ip:hostPort:containerPort
sudo docker run -p 0.0.0.0:8080:80 --name web -i -t ubuntu bash

#進(jìn)入容器交互環(huán)境
#更新包
apt-get update
#安裝nginx
apt-get install -y nginx
#安裝vim
apt-get install -y vim

#按Ctrl+P 和Ctrl+Q退出,開啟守護(hù)進(jìn)程

#查看守護(hù)進(jìn)程
sudo docker ps

#查看端口映射
sudo docker port web

#查看web容器進(jìn)程情況
sudo docker top web

#查看web信息,找到容器IP
sudo docker inspect web

靜態(tài)頁(yè)面配置

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Docker?鏡像導(dǎo)入導(dǎo)出過程介紹

    Docker?鏡像導(dǎo)入導(dǎo)出過程介紹

    這篇文章主要介紹了Docker?鏡像導(dǎo)入導(dǎo)出過程,文章圍繞主題展開詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • kali安裝docker和portainer的配置方法

    kali安裝docker和portainer的配置方法

    docker的出現(xiàn)給很多服務(wù)提供了方便,許多arm結(jié)構(gòu)的硬件也能運(yùn)行x86服務(wù),今天給大家介紹kali安裝docker和portainer的配置方法,感興趣的朋友一起看看吧
    2021-06-06
  • docker compose入門helloworld的詳細(xì)過程

    docker compose入門helloworld的詳細(xì)過程

    docker-compose是基于docker的,所以我們需要先安裝docker才能使用docker-compose,接下來通過本文給大家介紹docker compose入門helloworld的過程,一起看看吧
    2021-09-09
  • 關(guān)于docker無法正常下載鏡像的問題小結(jié)

    關(guān)于docker無法正常下載鏡像的問題小結(jié)

    之前還可以正常下載鏡像,但是一段時(shí)間之后就無法下載了,猜測(cè)可能是政治原因,無法連接到國(guó)外服務(wù)器,所以我設(shè)置了阿里云的鏡像加速器,需要的朋友可以參考下
    2024-06-06
  • Docker數(shù)據(jù)卷和容器編排的使用

    Docker數(shù)據(jù)卷和容器編排的使用

    這篇文章主要介紹了Docker數(shù)據(jù)卷和容器編排的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Docker容器數(shù)據(jù)卷原理及使用方法解析

    Docker容器數(shù)據(jù)卷原理及使用方法解析

    這篇文章主要介紹了Docker容器數(shù)據(jù)卷原理及使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • docker鏡像的導(dǎo)入和導(dǎo)出的實(shí)現(xiàn)

    docker鏡像的導(dǎo)入和導(dǎo)出的實(shí)現(xiàn)

    這篇文章主要介紹了docker鏡像的導(dǎo)入和導(dǎo)出的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Windows/Mac系統(tǒng)Docker方式安裝Mysql(包含utf8)

    Windows/Mac系統(tǒng)Docker方式安裝Mysql(包含utf8)

    本文主要介紹了Windows/Mac系統(tǒng)Docker方式安裝Mysql(包含utf8),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 使用Docker部署Nginx+Flask+Mongo的應(yīng)用

    使用Docker部署Nginx+Flask+Mongo的應(yīng)用

    這篇文章主要介紹了使用Docker部署Nginx+Flask+Mongo的應(yīng)用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • Jenkins+Docker實(shí)現(xiàn)自動(dòng)化部署

    Jenkins+Docker實(shí)現(xiàn)自動(dòng)化部署

    本文介紹了在CentOS7和Git(Gitee)環(huán)境下如何使用Jenkins進(jìn)行自動(dòng)化部署,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09

最新評(píng)論