CentOS7 下Docker最新入門教程 超級詳細 (安裝以及簡單的使用)


轉載https://blog.csdn.net/wzsy_ll/article/details/82866627

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 鏡像倉庫:

  1.  
    $ sudo yum-config-manager \
  2.  
    --add-repo \
  3.  
    https:/ /download.docker.com/linux /centos/docker-ce.repo

4)  啟用 edge 和 testing 鏡像倉庫:

  1.  
    $ sudo yum-config-manager --enable docker-ce-edge
  2.  
    $ 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鏡像地址:

https://dev.aliyun.com/search.html

以拉取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包到這個文件夾

war包下載地址:https://pan.baidu.com/s/1R2d_C98A-EzlEibChQ1p7A 提取碼: fuf4

3、創建Dockerfile文件

touch Dockerfile
 

3、編輯Dockerfile

vi Dockerfile
 

4、寫入以下內容

  1.  
    #該鏡像的父鏡像 為 tomcat 鏡像 這樣我們就有了tomcat的環境
  2.  
    from registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat -8.5 .27
  3.  
     
  4.  
    #復制當前文件夾下的 war包 到鏡像中tomcat的webapps目錄
  5.  
    COPY TestDocker.war /usr/tomcat/webapps
  6.  
     
  7.  
    #去除容器內部中文亂碼問題
  8.  
    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
 

 


免責聲明!

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



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