效能測試從零開始實施指南——效能監控篇(轉)
docker 安裝【學習版本】
一、環境確認
1.1 前提條件
目前,CentOS 僅發行版本中的核心支援 Docker.Docker 執行在 CentOS 7 上,要求系統為64位、系統核心版本為 3.10 以上。
1.2 使用 yum 安裝(CentOS 7下)
Docker 要求 CentOS 系統的核心版本高於 3.10 ,檢視本頁面的前提條件來驗證你的CentOS 版本是否支援 Docker 。
通過 uname -r 命令檢視你當前的核心版本
[root@localhost ~]# uname -r
1.3 docker ce和docker ee
從 2017 年 3 月開始 docker 在原來的基礎上分為兩個分支版本: Docker CE 和 Docker EE。
Docker CE 即社群免費版,Docker EE 即企業版,強調安全,但需付費使用。
怎麼確認本地機子上是否有docker 1.輸入docker命令 2. 檢視docker版本號 [app@yndc-tp-prd-hybris01 ~]$ yum list installed |grep docker containerd.io.x86_64 1.4.11-3.1.el7 @docker-ce-stable docker-ce.x86_64 3:20.10.9-3.el7 @docker-ce-stable docker-ce-cli.x86_64 1:20.10.9-3.el7 @docker-ce-stable docker-ce-rootless-extras.x86_64 20.10.9-3.el7 @docker-ce-stable docker-scan-plugin.x86_64 0.8.0-3.el7 @docker-ce-stable [app@yndc-tp-prd-hybris01 ~]$ docker --version Docker version 20.10.9, build c2ea9bc [app@yndc-tp-prd-hybris01 ~]$
1.4 移除舊的版本:
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
安裝一些必要的系統工具:
yum install -y yum-utils device-mapper-persistent-data lvm2
新增軟體源資訊:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 快取:
yum makecache fast
安裝 Docker-ce:(時間有點長)
yum -y install docker-ce
啟動 Docker 後臺服務
systemctl start docker
測試執行 hello-world
docker run hello-world
執行映象
由於本地沒有hello-world這個映象,所以會下載一個hello-world的映象,並在容器內執行。
檢視docker狀態
systemctl status docker
docker狀態
關閉docker
systemctl stop docker
systemctl status docker
重啟docker
systemctl restart docker
systemctl status docker
鑑於國內網路問題,後續拉取 Docker 映象十分緩慢,我們可以需要配置加速器來解決,我使用的是網易的映象地址:http://hub-mirror.c.163.com。
新版的 Docker 使用 /etc/docker/daemon.json 來配置 Daemon。
請在該配置檔案中加入(沒有該檔案的話,請先建一個):
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
刪除 Docker CE
執行以下命令來刪除 Docker CE:
$ yum remove docker-ce
$ rm -rf /var/lib/docker
docker映象操作
列出所有本地docker映象
docker images
各個選項說明:
REPOSITORY:表示映象的倉庫源
TAG:映象的標籤
IMAGE ID:映象ID
CREATED:映象建立時間
SIZE:映象大小
同一倉庫源可以有多個 TAG,代表這個倉庫源的不同個版本,我們使用 REPOSITORY:TAG 來定義不同的映象。
拉取映象
docker pull 映象名
搜尋映象
docker search 映象名
docker search tomcat
NAME:映象倉庫源的名稱
DESCRIPTION:映象的描述
OFFICIAL:是否docker官方釋出
刪除映象
docker rmi 映象名稱/映象ID
docker容器操作
檢視容器
docker ps
建立容器
docker run 建立tomcat容器
[root@localhost docker]# docker run --name tomcat -d -p 8080:8080 tomcat
命令說明:
--name tomcat:給容器取個名字
-d:後臺執行
-p 8080:8080:將容器的8080埠對映到主機的8080埠,前一個8080是主機埠,後一個8080是tomcat,然後可以在瀏覽器通過主機ip:8080訪問到tomcat。第一個埠8080如果是7070,那麼訪問的時候就是主機ip:7070.可以更改的哦.最後一個tomcat是要運用的tomcat映象,就是上面的repository.
我們這裡啟動了一個tomcat容器,然後在通過命令docker ps檢視一下
如果在建立容器過程中出現如下情況,說明容器已經在運行了,你可以刪除之後再重新建立:
刪除已經在執行的容器
docker rm 容器名|容器id
檢視所有容器
docker ps -a
檢視最後一次執行的容器
docker ps -l
檢視停止的容器
docker ps -f status=exited
停止正在執行的容器
docker stop 容器名稱/容器ID
啟動容器
docker start 容器名稱/容器ID
刪除容器
docker rm 容器ID
映象製作和執行
構建DockerFile:
vim DockerFile
FROM java:8-alpine
ADD sringboot-mybatis-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 80
ENTRYPOINT ["java","-jar","/app.jar"]
說明:
FROM::專案依賴,需要一個 java 8 版本的 jdk
ADD:第一個引數為 JAR 包的名稱, 第二個人蔘數自定義名稱,打包後的名稱
EXPOSE:專案執行時的埠
ENTRYPOINT:執行 JAR 包的指令, 如 java -jar app.jar 為 ["java","-jar","/app.jar"]
注意這裡的 app.jar 和 ADD 的第二個引數對應
建立映象:
在當前目錄執行 =>
docker build -f /usr/local/mydemo/Dockerfile springboot:1.0 .
其中 springboot:1.0 為設定的映象名稱:版本
注意:
/usr/local/mydemo/Dockerfile為Dockerfile檔案 路徑
最後的一個 . 為 DockerFile 所在的相對路徑【為映象生成之後的儲存路徑】
檢視映象是否打包完成
docker images
執行映象
docker run -d -p 8085:80 springboot:1.0
參考:https://www.jianshu.com/p/faf7af05a808
yum是rpm系統的自動更新程式和軟體包安裝程式/刪除程式。方便通過命令安裝需要的軟體包,沒有命令可直接列出未安裝包,但可以通過下面兩個命令對比就可得知哪些未安裝的了。
(1)yum list指的是列出所有可安裝的安裝包;
(2) yum list installed指的是列出已安裝的安裝包;
yum list | grep 包名
yum list installed |grep 包名
centos下安裝JDK
https://www.jianshu.com/p/02df416dc6cf
yum-config-manager命令介紹
介紹
yum-config-manager命令是對資源庫(/etc/yum.repos.d/下的檔案)進行增刪改查
系統預設沒有安裝這個命令,這個命令在yum-utils包裡,可以通過yum install -y yum-utils安裝
查詢倉庫內容
查詢所有資源庫
# yum repolist all
查詢已啟用的資源庫
# yum repolist enabled
查詢禁用的資源庫
# yum repolist disabled
新增資源庫
# yum-config-manager --add-repo repository_url
# yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/centos/8/BaseOS/x86_64/os/
啟用資源庫
# yum-config-manager --enable itemName
禁用資源庫
# yum-config-manager --disable itemName
或者直接編輯/etc/yum.repos.d/下對應資源庫檔案
enabled=0
刪除資源庫
在/etc/yum.repos.d/下手動刪除對應repo檔案即可,這會使得該庫中所有資訊被刪除
https://www.cnblogs.com/bulh/articles/12522466.html
device mapper與device-mapper-persistent-data 和 lvm2
前言
在新主機首次安裝 Docker Engine-Community之前,需要設定Docker倉庫,之後,您可以從倉庫安裝和更新 Docker。
設定倉庫,需要安裝所需的軟體包。yum-utils 提供了 yum-config-manager ,並且 device mapper 儲存驅動程式需要 device-mapper-persistent-data 和 lvm2。
device mapper
Device Mapper 是 Linux2.6 核心中支援邏輯卷管理的通用裝置對映機制,它為實現用於儲存資源管理的塊裝置驅動提供了一個高度模組化的核心架構。
LVM
LVM(Logical Volume Manager)邏輯卷管理。
它是對磁碟分割槽進行管理的一種機制,建立在硬碟和分割槽之上的一個邏輯層,用來提高磁碟管理的靈活性。通過LVM可將若干個磁碟分割槽連線為一個整塊的卷組(Volume Group),形成一個儲存池。可以在卷組上隨意建立邏輯卷(Logical Volumes),並進一步在邏輯捲上建立檔案系統,與直接使用物理儲存在管理上相比,提供了更好靈活性。
device-mapper-persistent-data 和 lvm2
兩者都是Device Mapper所需要的。
https://www.runoob.com/docker/centos-docker-install.html
1、Docker 要求 CentOS 系統的核心版本高於 3.10 ,檢視本頁面的前提條件來驗證你的CentOS 版本是否支援 Docker 。
通過 uname -r 命令檢視你當前的核心版本
$ uname -r
2、使用 root 許可權登入 Centos。確保 yum 包更新到最新。
$ sudo yum update
3、解除安裝舊版本(如果安裝過舊版本的話)
$ sudo yum remove docker docker-common docker-selinux docker-engine
4、安裝需要的軟體包, yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、設定yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以檢視所有倉庫中所有docker版本,並選擇特定版本安裝
$ yum list docker-ce --showduplicates | sort -r
7、安裝docker
$ sudo yum install docker-ce #由於repo中預設只開啟stable倉庫,故這裡安裝的是最新穩定版17.12.0
$ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
8、啟動並加入開機啟動
$ sudo systemctl start docker
$ sudo systemctl enable docker
9、驗證安裝是否成功(有client和service兩部分表示docker安裝啟動都成功了)
$ docker version
菜鳥教程:
https://www.runoob.com/docker/centos-docker-install.html
Docker Engine-Community =docker-ce
compose命令詳解:
https://www.cnblogs.com/phpk/p/11205467.html
https://www.jianshu.com/p/9e5169d9f1f7
https://www.cnblogs.com/ithubb/p/13455247.html