天天看點

(個人筆記)Ubuntu與docker基礎

一、Docker系列

1.apt install docker.io(如果登入的使用者沒有root權限會報錯,以下所有加sudo都同這個原因一樣)

(個人筆記)Ubuntu與docker基礎

解決方法:①.在apt前面加上sudo

②.這個使用者加上root權限(自己的電腦可以随意,如果是公司的伺服器root權

限肯定不會随便加)

③臨時切換到root使用者下,輸入指令su,輸入密碼即可

2.安裝完docker後輸入docker -v (同檢視jdk版本類似)預設安裝最新的版本

(個人筆記)Ubuntu與docker基礎

3.啟動docker服務 service docker start

4. sudo docker serach parameter(參數即你需要的鏡像名比如tomcat:sudo docker search tomcat)

(個人筆記)Ubuntu與docker基礎

顯示的結果是按照下載下傳熱度由高到低排列的

5.安裝所需軟體鏡像,可以直接用指令:sudo docker pull tomcat(預設的鏡像倉庫是國外https://hub.docker.com/explore/)下載下傳的時候可能比較慢。

建議使用sudo docker pull registry.docker-cn.com/library/tomcat(tomcat這是個參數,如果需要别的鏡像輸入指令時更換别的鏡像名就可以從國内官方鏡像下載下傳了)

6.sudo docker images 檢視docker中有的鏡像

(個人筆記)Ubuntu與docker基礎

7.将鏡像啟動成容器sudo docker run -d -p 8080:8080 --name tomcat-test tomcat

檢查tomcat容器是否啟動成功:在本地浏覽器輸入Linux系統的ip位址加容器端口号,就會進入tomcat的首頁

指令中-d:背景運作

-p 8080:8080: 分别代表容器端口和主控端端口(使用者外界通路容器,這是一種端口映射的方式)

–name tomcat-test:給容器起名字

最後的tomcat:使用的鏡像名

8.檢視docker中已有的容器:sudo docker ps -a (-a的意思是檢視所有的容器包括啟動成功未成功的,如果隻想檢視啟動成功的容器指令就不用加-a)

(個人筆記)Ubuntu與docker基礎

清單中的這個就是第7中建立的容器

9.删除容器:sudo docker rm 容器ID/容器名

10.進入容器:sudo docker exec -it 容器ID /bin/bash

(個人筆記)Ubuntu與docker基礎

-it

i:可以鍵盤輸入 t: terminal 僞終端

11.停止容器:sudo docker stop 容器ID/容器名稱

12.将主控端的檔案複制到容器中:sudo docker cp 檔案目錄 容器ID/容器名稱:/容器目标路徑

(個人筆記)Ubuntu與docker基礎

二、Dockerfile系列

Dockerfile用來建立鏡像的檔案

内置指令:

FROM:依賴的底層鏡像(在哪個鏡像的基礎上生成的鏡像)

MAINTAINER:指定鏡像的建立者

ENV:設定環境變量

RUN:運作shell指令(安裝軟體用)

COPY:将檔案複制到鏡像中

建立自定義鏡像

sudo docker build -t 鏡像名 .

1.檔案名必須是Dockerfile

(個人筆記)Ubuntu與docker基礎
(個人筆記)Ubuntu與docker基礎

2.進入到鏡像目錄下

(個人筆記)Ubuntu與docker基礎

3.檢視docker中存在的鏡像sudo docker ps

(個人筆記)Ubuntu與docker基礎

4.将鏡像啟動成容器

sudo docker run -d -p 8082:8080 --name mytomcat test-tomcat

5.檢視容器

(個人筆記)Ubuntu與docker基礎

可以看到自定義的鏡像啟動的容器

6.容器中的資料備份到主控端,當容器損壞時可以再啟動一個容器還原

①建立外鍊(在主控端中的備份的容器名)

(個人筆記)Ubuntu與docker基礎

②啟動portainer鏡像

(個人筆記)Ubuntu與docker基礎

如果主控端沒有portainer的話會從官網上下載下傳最新的。

-v portainer_data:/data 是指備份在主控端的data目錄下

③在浏覽器中輸入虛拟機IP加對外映射的portainer端口号

(個人筆記)Ubuntu與docker基礎

首次登陸需要設定密碼

進入之後就可以對容器和鏡像進行管理