基於ASP.Net Core學習Docker技術第一步:在CentOS7安裝Docker平台


Docker技術幾年前就火了,伴隨着今年來devops的流行,這項技術一直被技術社區追捧。提起Docker很容易被默認為是Linux平台下的技術,.NET的技術跟他似乎沒有沾邊,不過那是對非.NET Core的技術而言,新推的.NET Core技術既然可以支持誇平台,那么當然運行在Docker平台也是沒有問題的,.NET Core的安裝指南里面就有專門的針對Docker平台的。

Docker技術最酷的功能當然就是運行環境的一致性,遙想沒有Docker或者不用Docker,在開發,測試和部署環境維護配置的繁瑣,耗費人力,惹毛開發人員。有了Docker把自動化部署推向了新的水平,甚至開發人員在開發機器把程序跑通,然后發布一個Docker鏡像,然后用戶pull下這個鏡像,拿到Docker運行就可以了,是不是很簡單呢。看起來簡單的,具體技術實現還是要了解,比如如何創建自己的鏡像,.NET Core的技術如何跟Docker結合使用等。

那就從最基本的開始,安裝Docker平台。

實際上還是比較簡單的,官方有詳細的說明,有安裝指南的好處是不用敲命令行,復制粘貼命令行就夠了。

記錄下簡要的步驟,以后忘了也好重新撿回。

1 安裝最小化版CentOS7

至於為什么選用CentOS7,並不是因為Docker平台只能運行在Linux,而是企業一般都用這個作為服務器系統。

(當然Docker也是可以運行在Windows(至少Windows10以上),在Windows上運行需要依賴HyperV,windows上安裝Docker比較簡單,不詳細說。)

CentOS7安裝的是最小化功能版本。

2 配置靜態IP以及DNS域名解析
安裝好系統之后靜態IP以及DNS域名解析,設置靜態IP是讓xshell能在下次重啟之后繼續連上服務器,設置DNS是為了解析Docker相關的一些域名,因為下載鏡像
的時候是通過域名訪問的。
設置靜態IP命令

vim /etc/sysconfig/network-scripts/ifcfg-ens33

主要設置以下項目的值,IP地址根據具體的值設置

BOOTPROTO="static"
IPADDR="192.168.115.136"
NETMASK="255.255.255.0"
GATEWAY="192.168.115.2"

設置DNS

vim /etc/sysconfig/network

加入一行即可

DNS1=8.8.8.8

當然設置其他IP也可以,能用就行。

 
3 按照官方教程安裝docker
參考官方指南
https://docs.docker.com/engine/installation/linux/docker-ce/centos/
這里使用的是設置Docker倉庫的方式安裝

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --enable docker-ce-edge  #可選
sudo yum-config-manager --enable docker-ce-test  #可選
sudo yum install docker-ce

 

4 啟動Docker
sudo systemctl start docker #啟動Docker
sudo systemctl enable docker.service #設置Docker服務開機啟動

5 增加docker用戶組和用戶(可選)
安裝完成docker之后會創建一個docker用戶組,沒有的話自己創建一個。
udo groupadd docker
然后添加當前用戶到docker用戶組
sudo usermod -aG docker $USER
 
6 運行hello-world鏡像的容器
sudo docker run hello-world   #基於hello-world鏡像創建一個容器
上述命令會把hello-world鏡像下載到本地,然后基於這個鏡像創建一個容器,並且運行這個容器。
上述命令的輸出可以看到Hello from Docker!的輸出,說明已經可以成功運行docker平台了
 
可以通過
docker images命令查看本地的鏡像

REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 05a3bd381fc2 2 weeks ago 1.84kB

通過docker ps -a 查看目前在運行的容器

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0872b507bdc hello-world "/hello" 10 seconds ago Exited (0) 9 seconds ago adoring_colden

到此Docker的服務器環境就夠了,那.NET Core那些呢,不是要運行Asp.NET Core嗎?

現在用的Docker,當然這些都要通過Docker鏡像的方式解決,后續會詳細介紹。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM