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安裝的是最小化功能版本。
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也可以,能用就行。
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服務開機啟動
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鏡像的方式解決,后續會詳細介紹。