您好,登錄后才能下訂單哦!
是一種輕量級的“虛擬機"
在Linux容器里運行應用的開源工具
打包應用程序簡化部署
可脫離底層硬件任意遷移
鏡像
容器
倉庫
公有倉庫:官方提供
私有倉庫:私人搭建
注:進項和容器可以相互轉換!
使用CURL獲得Docker的安裝腳本進行安裝
使用YUM倉庫來安裝Docker
注:建議使用YUM安裝!
主機 | 操作系統 | IP地址 | 主要軟件 |
---|---|---|---|
服務器 | CentOS7 | 192.168.142.130 | Docker-19.003.0-ce |
#安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm 2
#設置阿里云鏡像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安裝Docker-CE
yum install docker-ce -y
#關閉防火墻和安全功能
systemctl stop firewalld.service
setenforce 0
#開啟docker
systemctl start docker.service
#開機自啟動docker
systemctl enable docker.service
#查看服務進程狀態
ps aux | grep docker
#查看docker本號
docker version
#公有倉庫搜索鏡像
docker search nginx
#下載鏡像(忒慢!)
docker pull 倉庫名稱【:標簽】
實例:
docker pull nginx
#重載守護進程
systemctl daemon-reload
#重啟服務
systemctl restart docker
#查看已下載的鏡像
docker images
#查看鏡像詳細信息
docker inspect 鏡像ID
#添加新標簽
docker tag 名稱[:標簽] 新名稱[:新標簽]
#刪除鏡像
docker rmi 倉庫名稱[:標簽]
docker rmi 鏡像ID
#存出鏡像
docker save -o 存出鏡像名 存出的鏡像
#載入鏡像
docker load --input 存出文件名
docker load < 存出文件名
#上傳鏡像
docker push 倉庫名稱[:標簽]
#創建容器
docker create [選項]鏡像運行的程序
#選項
-i讓容器的標準輸入保持打開
-t讓Docker分配一個偽終端
**實例:**
```bash
docker create -it nginx:latest /bin/bash
#查看容器
docker ps [選項]
#選項
-a:列出最近一次啟動的容器
-q:靜默模式,只顯示容器編號
實例:
docker ps -a
#啟動容器
docker start 容器ID
#創建容器并執行shell命令
docker run [選項]鏡像運行的程序,執行的命令
#選項
-p:可以指定映射端口;
-P:將容器開放的網絡端口(默認是80端口)映射到主機隨機的一個端口;
-d:在后臺進行運行
#持續在后臺執行
docker run -d 容器名稱 /bin/bash -c "while true;do echo hello;done"
#終止容器
docker stop 容器的ID/名稱
#進入容器,容器一定要處于up狀態
docker exec p[選項]容器的ID/名稱 /bin/bash
docker exec -it 容器ID /bin/bash
#選項
-i : 即使沒有連接,也保持STDIN 打開;
-t : 分配一個偽終端,這樣就可以看到 Linux 命令提示符了;
#退出容器
exit
#導出容器
docker export 容器的ID/名稱ID > 文件名
#導入容器(會生成鏡像,而不會創建容器)
cat 文件名 | docker import -生成的鏡像名稱:標簽
#刪除容器
docker rm [選項]容器的ID/名稱
#批量刪除
docker ps -a | awk '{print "docker rm "$1}' | bash
1.限制CPU使用速率
●通過--cpu-quota選項來限制CPU的使用率
●通過修改配置文件cpu.cfs_quota_us實現
實例:
docker run --cpu-quota 20000 centos
2.多任務按比例分享CPU
docker run --cpu-shares 1024容器A
docker run --cpu-shares 1024容器B
docker run --cpu-shares 2048容器C
實例:
#按比例分配
#創建兩個容器為c1和c2, 若只有這兩個容器,設置容器的權重,使得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內核使用權
docker run- -m 512m paigeeworld/ centos7
4.對blkio的限制
--device-read-bps: 限制讀某個設備的bps (數據量)
實例:
docker run -d --device-read-bps /dev/sda: 30M paigeeworld/centos7
--device-write-bps :限制寫入某個設備的bps (數據量)
實例:
docker run -d --device-write-bps dev/sda: 30M pai geewor ld/ centos7
--device-read-iops :限制讀某個設備的iops (次數)
--device-write-iops :限制寫入某個設備的iops (次數)
數據管理操作
方便查看容器內產生的數據
多容器間實現數據共享
兩種管理方式
數據卷(容器和宿主間的共享)
數據卷容器(實現容器之間的共享)
數據卷是一個提供容器使用的特殊目錄
#創建數據卷
docker run -d -V /data1 -V /data2 --name web httpd:centos
#掛載主機目錄作為數據卷
docker run -d -V /var/www:/data1 --name web-1 httpd:centos
#掛載web容器中的數據卷到新的容器
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
#創建測試
cd /data1/
touch test
#退出容器
exit
#返回宿主機進行查看
ls /var/www
[root@localhost ~]# ls /var/www
test
#數據卷容器
docker run --name web100 -v /data1 -v /data2 -it centos /bin/bash
#新容器掛載數據卷容器web100
docker run -it --volumes-from web100 --name db1 centos /bin/bash
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。