溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Docker安裝與管理

發(fā)布時間:2020-07-20 20:53:05 來源:網(wǎng)絡(luò) 閱讀:342 作者:caozhengtao1213 欄目:系統(tǒng)運維

Docker概述

Docker安裝與管理

Docker是什么?

是一種輕量級的“虛擬機"
在Linux容器里運行應(yīng)用的開源工具

Docker的使用場景

 打包應(yīng)用程序簡化部署
可脫離底層硬件任意遷移

Docker核心概念

鏡像
容器
倉庫
公有倉庫:官方提供
私有倉庫:私人搭建
注:進項和容器可以相互轉(zhuǎn)換!

CentOS安裝Docker的兩種方式

使用CURL獲得Docker的安裝腳本進行安裝
使用YUM倉庫來安裝Docker
注:建議使用YUM安裝!

docker安裝

主機 操作系統(tǒng) IP地址 主要軟件
服務(wù)器 CentOS7 192.168.142.130 Docker-19.003.0-ce
#安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm 2

#設(shè)置阿里云鏡像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安裝Docker-CE
yum install docker-ce -y

#關(guān)閉防火墻和安全功能
systemctl stop firewalld.service
setenforce 0

#開啟docker
systemctl start docker.service

#開機自啟動docker
systemctl enable docker.service

#查看服務(wù)進程狀態(tài)
ps aux | grep docker


docker基礎(chǔ)操作

#查看docker本號
docker version

#公有倉庫搜索鏡像
docker search nginx

#下載鏡像(忒慢!)
docker pull 倉庫名稱【:標(biāo)簽】

實例:

docker pull nginx
#重載守護進程
systemctl daemon-reload

#重啟服務(wù)
systemctl restart docker

#查看已下載的鏡像
docker images

#查看鏡像詳細(xì)信息
docker inspect 鏡像ID  

#添加新標(biāo)簽
docker tag 名稱[:標(biāo)簽] 新名稱[:新標(biāo)簽]

#刪除鏡像
docker rmi 倉庫名稱[:標(biāo)簽]
docker rmi 鏡像ID

#存出鏡像
docker save -o 存出鏡像名 存出的鏡像

#載入鏡像
docker load --input 存出文件名
docker load < 存出文件名

#上傳鏡像
docker push 倉庫名稱[:標(biāo)簽]


docker容器操作

#創(chuàng)建容器
docker create [選項]鏡像運行的程序

#選項
-i讓容器的標(biāo)準(zhǔn)輸入保持打開
-t讓Docker分配一個偽終端

**實例:**
```bash
docker create -it nginx:latest  /bin/bash
#查看容器
docker ps [選項]

#選項
-a:列出最近一次啟動的容器
-q:靜默模式,只顯示容器編號

實例:

docker ps -a

#啟動容器
docker start  容器ID

#創(chuàng)建容器并執(zhí)行shell命令
docker run [選項]鏡像運行的程序,執(zhí)行的命令

#選項
-p:可以指定映射端口;
-P:將容器開放的網(wǎng)絡(luò)端口(默認(rèn)是80端口)映射到主機隨機的一個端口;
-d:在后臺進行運行

#持續(xù)在后臺執(zhí)行
docker run -d 容器名稱 /bin/bash -c "while true;do echo hello;done"

#終止容器
docker stop 容器的ID/名稱

#進入容器,容器一定要處于up狀態(tài)

docker exec p[選項]容器的ID/名稱 /bin/bash
docker exec -it 容器ID /bin/bash

#選項
-i : 即使沒有連接,也保持STDIN 打開;
-t : 分配一個偽終端,這樣就可以看到 Linux 命令提示符了;

#退出容器
exit 

#導(dǎo)出容器
docker export 容器的ID/名稱ID > 文件名

#導(dǎo)入容器(會生成鏡像,而不會創(chuàng)建容器)
cat 文件名 | docker import -生成的鏡像名稱:標(biāo)簽

#刪除容器
docker rm [選項]容器的ID/名稱

#批量刪除
docker ps -a | awk '{print "docker rm "$1}' | bash


docker資源控制

1.限制CPU使用速率

●通過--cpu-quota選項來限制CPU的使用率
●通過修改配置文件cpu.cfs_quota_us實現(xiàn)

實例:

docker run --cpu-quota 20000 centos

2.多任務(wù)按比例分享CPU

docker run --cpu-shares 1024容器A
docker run --cpu-shares 1024容器B
docker run --cpu-shares 2048容器C

實例:

#按比例分配
#創(chuàng)建兩個容器為c1和c2, 若只有這兩個容器,設(shè)置容器的權(quán)重,使得c1和c2的CPU資源占比為33.3%和166.7%。
locker run -itd --name c1 --cpu-shares 512 paigeeworld/centos7
locker run -itd --name c2 --cpu-shares 1024 paigeewor1d/centos7

3.使用--cpuset-cpus選項限制CPU內(nèi)核使用權(quán)

docker run- -m 512m paigeeworld/ centos7

4.對blkio的限制

--device-read-bps: 限制讀某個設(shè)備的bps (數(shù)據(jù)量)

實例:

docker run -d --device-read-bps /dev/sda: 30M paigeeworld/centos7

--device-write-bps :限制寫入某個設(shè)備的bps (數(shù)據(jù)量)

實例:

docker run -d --device-write-bps dev/sda: 30M pai geewor ld/ centos7

--device-read-iops :限制讀某個設(shè)備的iops (次數(shù))

--device-write-iops :限制寫入某個設(shè)備的iops (次數(shù))


Docker的數(shù)據(jù)管理

數(shù)據(jù)管理操作

方便查看容器內(nèi)產(chǎn)生的數(shù)據(jù)
多容器間實現(xiàn)數(shù)據(jù)共享

兩種管理方式

數(shù)據(jù)卷(容器和宿主間的共享)
數(shù)據(jù)卷容器(實現(xiàn)容器之間的共享)

docker數(shù)據(jù)卷

數(shù)據(jù)卷是一個提供容器使用的特殊目錄
#創(chuàng)建數(shù)據(jù)卷
docker run -d -V /data1 -V /data2 --name web httpd:centos

#掛載主機目錄作為數(shù)據(jù)卷
docker run -d -V /var/www:/data1 --name web-1 httpd:centos

#掛載web容器中的數(shù)據(jù)卷到新的容器
docker run -it --volumes-from web --name db1 httpd:centos /bin/bash

實例:

#下載鏡像
docker pull centos
#宿主機目錄/var/www掛載容器中的/data1
docker run -v /var/www:/data1 --name web1 -it centos /bin/bash

#創(chuàng)建測試
cd /data1/
touch test

#退出容器
exit

#返回宿主機進行查看
ls /var/www

[root@localhost ~]# ls /var/www
test

docker數(shù)據(jù)卷容器

#數(shù)據(jù)卷容器
docker run --name web100 -v /data1 -v /data2 -it centos /bin/bash

#新容器掛載數(shù)據(jù)卷容器web100
docker run -it --volumes-from web100 --name db1 centos /bin/bash

謝謝閱讀!!!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI