docker概述
docker是什麼?
是一種輕量級的「虛擬機器"
在linux容器裡執行應用的開源工具
docker的使用場景打包應用程式簡化部署
可脫離底層硬體任意遷移
docker核心概念映象
容器倉庫
公有倉庫:官方提供
私有倉庫:私人搭建
注:進項和容器可以相互轉換!
centos安裝docker的兩種方式使用curl獲得docker的安裝指令碼進行安裝
使用yum倉庫來安裝docker
注:建議使用yum安裝!
docker安裝
主機作業系統
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
#安裝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本號
docker version
#公有倉庫搜尋映象
docker search nginx
#**映象(忒慢!)
docker pull 倉庫名稱【:標籤】
例項:docker pull nginx#映象加速
cd /etc/docker/
tee /etc/docker/daemon.json <
docker容器操作
#建立容器
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 '' | bash
docker資源控制
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的資料管理
資料管理操作
方便檢視容器內產生的資料
多容器間實現資料共享
兩種管理方式
資料卷(容器和宿主間的共享)
資料卷容器(實現容器之間的共享)
docker資料卷
資料卷是乙個提供容器使用的特殊目錄#建立資料卷
#掛載主機目錄作為資料卷
#掛載web容器中的資料捲到新的容器
例項:#**映象
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資料卷容器
#資料卷容器
docker run --name web100 -v /data1 -v /data2 -it centos /bin/bash
#新容器掛載資料卷容器web100
docker run -it --volumes-from web100 --name db1 centos /bin/bash
謝謝閱讀!!!
docker安裝與docker安裝nginx
主要是部署速度的不同,dockers較快,是秒級,而虛擬機器很慢,至少10s以上 docker部署專案將會更快更好 step 1 安裝必要的一些系統工具 step 2 新增軟體源資訊 sudo yum config manager add repo step 3 更新並安裝 docker ce su...
管理Docker工具Rancher安裝
文件 1 安裝docker 2 重新安裝mysql5.7版本以上mysql5.7.24 3 更改配置檔案my.cnf 增加下列幾行,如果有就修改,沒有就新增到末尾 max packet size 32m innodb file per table 1 innodb log file size 256...
docker 安裝 和 portainer管理平台
docker 安裝 這個是官方的安裝 首先解除安裝docker安裝 yum remove docker docker client docker client latest docker common docker latest docker latest logrotate docker logr...