Docker 版本
– 社區(qū)版
– 企業(yè)版
? 與 Kubernetes 集成(在Linux版本號(hào)很重要呢!)
– 社區(qū)版 17.03.2 ce
? CentOS(虛擬機(jī))安裝 docker
– 官方指南
? https://docs.docker.com/install/linux/docker-ce/centos/#installdocker-ce
– 中文指南
? http://www.cnblogs.com/freefei/p/9263998.html
? 如果你不是root用戶
– 請(qǐng)將用戶加入 docker 用戶組
安裝Docker
使用存儲(chǔ)庫
在首次安裝 Docker 引擎之前,您需要設(shè)置 Docker 存儲(chǔ)庫献起。之后,可以從存儲(chǔ)庫安裝和更新 Docker奕翔。
設(shè)置存儲(chǔ)庫
- 更新包索引和安裝包以允許通過 HTTPS 使用存儲(chǔ)庫:
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
- 添加 Docker 的官方 GPG 密鑰:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
安裝Docker引擎和容器
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
檢查安裝:
$ docker version
驗(yàn)證Docker引擎是否安裝正確
$ sudo docker run hello-world
Docker基本操作
- 運(yùn)行鏡像
- 顯示本地鏡像庫內(nèi)容
- 獲得幫助:
- 顯示運(yùn)行中容器
- 顯示所有容器
- 繼續(xù)運(yùn)行原容器并進(jìn)入
MySQL與容器化
拉取MySQL鏡像
構(gòu)建Docker鏡像練習(xí)
錄入以下內(nèi)容:
FROM ubuntu
ENTRYPOINT ["top", "-b"]
CMD ["-c"]
構(gòu)建鏡像
運(yùn)行鏡像
- 使用MySQL容器
啟動(dòng)服務(wù)器
啟動(dòng)MySQL客戶端
-
掛載卷保存db
查看數(shù)據(jù)庫文件所在地址
-
創(chuàng)建并掛載
- 啟動(dòng)客戶端容器鏈接服務(wù)器
- 掛載現(xiàn)有數(shù)據(jù)庫
官網(wǎng)案例:
docker run -v "$PWD/data":/var/lib/mysql --user 1000:1000 --name
some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
- 修改容器配置
docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e
MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
- Docker compose 與多容器應(yīng)用自動(dòng)化部署
下載:docker-compose(容器編排的原型)
編寫:stack.yml
啟動(dòng)服務(wù)
編寫stack.yml:
version: '3.1'
services:
db:
image: mysql:5.7
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
adminer:
image: adminer
restart: always
ports:
- 8080:8080
啟動(dòng)服務(wù)
docker-compose -f stack.yml up
Docker網(wǎng)絡(luò)
- 管理容器網(wǎng)絡(luò)
- 備制支持 ifconfig 和 ping 命令的 ubuntu 容器
ping <your host ip> //可以ping通
- 啟動(dòng)另一個(gè)命令窗口哟冬,由容器制作鏡像
- 創(chuàng)建自定義網(wǎng)絡(luò)
- 在兩個(gè)窗口創(chuàng)建 u1,u2 容器網(wǎng)絡(luò),并使用以下命令
docker run --name u1 -it -p 8080:80 --net mynet --rm ubuntu:net bash
docker run --name u2 --net mynet -it --rm ubuntu:net bash
docker inspect u1
docker network connect bridge u1
docker network disconnect mynet u1