linux-CentOS7 下的 Docker最新入門教程 超級詳細 (安裝以及簡單的使用)
1、為什麼使用Docker(本人)
最近總是頻繁的在新伺服器釋出專案, 每次釋出都需要佈置專案所需要的環境特別麻煩,而且還有一臺機器需要兩個環境的狀況
例如:釋出java web 專案而言 需要下載安裝jdk 和tomcat 安裝Docker後只需要幾個命令就輕鬆搞定,還有兩個環境的問題,我們有一臺伺服器需要釋出兩個java web專案 而有一個專案必須使用jdk1.7 而另一個必須用jdk1.8,這個使用Docker都可以輕鬆解決
2、Docker介紹
Docker裡面有三個概念分別是:
映象,倉庫,容器
經過簡單的安裝我對這三個概念的理解大致如下:
以下為本人個人觀點僅供參考!
容器:就說執行java web專案,首先需要有執行環境,而這個容器就是我們的執行環境
映象:我把映象理解為我們的作業系統,這個作業系統(映象)執行起來後才會有我們程式執行的環境(容器)
倉庫:這個倉庫也就是我們下載作業系統(映象)的地方,裡面有各式各樣的作業系統(映象),redis,tomcat的映象等等
接下來進行Docker的安裝和簡單的使用來體驗一下使用Docker是不是很方便
3、Docker安裝與啟動
因為第一次使用Docker也不清楚哪個版本比較好,所以按照官網的提示安裝了最新版本(以下內容來自官網,本人親測安裝成功)
1)Docker安裝所需要CentOS7以上才可以安裝
2) 安裝所需的軟體包
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3) 設定 stable 映象倉庫:
$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
4) 啟用 edge 和 testing 映象倉庫:
$ sudo yum-config-manager --enable docker-ce-edge $ sudo yum-config-manager --enable docker-ce-testing
5) 更新yum軟體包索引:
$ sudo yum makecache fast
6) 安裝Docker最新版本:
$ sudo yum install docker-ce
7)啟動Docker:
$ sudo systemctl start docker
8)驗證是否啟動成功:
$ sudo docker run hello-world
4、Docker常用命令以及使用圖解
1、拉取映象
docker pull 映象地址
阿里docker映象地址:
以拉取tomcat映象為例,點選搜尋
這個也就是帶有tomcat環境的作業系統,這個是完整的命令直接複製就行
docker pull registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat-8.5.27
因為tomcat需要java環境所以下載會有一點慢
等待下載完成...
2、檢視所有映象
docker images
上圖可以看到兩個映象,第一個是我們測試Docker是否成功安裝的 第二個使我們下載好的tomcat映象
3、執行映象
docker run -d -p 本機埠:容器埠 映象名稱
-d:映象在後臺執行
-p指定本機與容器內部互動的埠 -P是隨機開放一個埠與容器內部ID對映(這裡不做演示)
執行tomcat映象,我們把本機的80埠對映到容器的8080埠
docker run -d -p 80:8080 registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat-8.5.27
我們訪問一下看tomcat是否成功啟動
tomcat主頁已經顯示證明服務正常啟動了
4、檢視正在執行的容器
docker ps
5、進入到容器內部
docker exec -it 容器ID bash (下面是我的容器ID 每個容器ID是不一樣的 使用docker ps 檢視一下)
docker exec -it a1a4eaba7dd4 bash
退出容器:輸入exit
6、檔案傳輸
如果我們想獲取容器內tomcat的日誌檔案怎麼辦呢
容器 -----> 本機
docker cp ID全稱:容器檔案路徑 本地路徑
docker cp a1a4eaba7dd44db8a23701c2f7825a506381c7c889bb0702dd747ad521a809d0:/usr/tomcat/logs/catalina.out /usr/local/Docker/catalina.out
本機 -----> 容器 (這個就不演示了都差不多)
docker cp 本地檔案路徑 ID全稱:容器路徑
7、停止容器
docker stop 容器ID
docker stop a1a4eaba7dd4
我們再訪問一下:
下面兩個命令一會兒會說到:
8、刪除容器
docker rm 容器id
9、刪除映象
docker rmi 映象id
5、構建映象併發布自己的專案
1、在/usr/local下建立Docker資料夾(隨便的一個空的資料夾)
2、上傳war包到這個資料夾
3、建立Dockerfile檔案
touch Dockerfile
3、編輯Dockerfile
vi Dockerfile
4、寫入以下內容
#該映象的父映象 為 tomcat 映象 這樣我們就有了tomcat的環境 from registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat-8.5.27 #複製當前資料夾下的 war包 到映象中tomcat的webapps目錄 COPY TestDocker.war /usr/tomcat/webapps #去除容器內部中文亂碼問題 ENV LANG C.UTF-8
5、構建映象(還是在Docker資料夾 也就是Dockerfile所在資料夾)
docker build -t 映象名稱(映象名稱必須為小寫):映象版本 .
注意後面的點要加上,這個代表Dockerfile的所在目錄
docker build -t docker-test:latest .
使用docker images 檢視一下我們構建的映象
執行映象
docker run -d -p 80:8080 docker-test
像本文剛開始提到的,每個專案都需要有自己的執行環境,我們可以為每個專案都配置一個屬於自己的映象
6、刪除映象和容器
當我們有廢棄的映象和容器時,不使用需要刪除
我們需要注意的一點是:
映象啟動後會產生容器,如果不先刪除容器,映象是無法刪除的
例如:
我們停掉剛才的容器,刪除我們的映象
正確的步驟:
首先我們需要先刪除容器:
檢視所有狀態的容器(包括已經被停止調的容器)
docker ps -a
先刪除容器:
docker rm 87c728718a7b
再檢視一下發現容器已被刪除:
接下來刪除映象:
docker rmi 48dc9dfde4d8
本次入門教程到這就結束了,有寫的不好的地方希望大家可以指出來