作業要求
參考:玩轉 Docker 容器技術:1-6章 ,按課件內容實踐,並給出實驗報告。
安裝
安裝 yum-utils , 使用 yum-config-manager 工具設置Yum源, 後面兩個是 devicemapper驅動依賴
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
使用阿里源訪問
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
查看指定版本
yum list docker-ce --showduplicates
安裝指定版本
sudo yum install -y --setopt=obsoletes=0 docker-ce-17.03.2.ce-1.el7.centos.x86_64 docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
啓動並加入開機啓動
sudo systemctl start docker
sudo systemctl enable docker
驗證安裝成功:
docker version
運行
- 運行hello-world鏡像:
docker run hello-world
- 運行Ubuntu鏡像:
docker run -it ubuntu bash
- 顯示本地鏡像庫內容
docker images
- 顯示運行中的容器
docker ps
沒有運行中的容器,內容爲空
- 顯示所有容器(包含已中止)
docker ps -a
- 繼續運行原容器並進入
docker restart $NAMES
docker ps
dockerr attach $NAMES
MySQL與容器化
拉取MySQL鏡像
docker pull mysql:5.7
構建docker鏡像
- 創建文件夾mydock與一個dockfile
# mkdir mydock && cd mydock
# vi dockerfile
- 錄入
FROM ubuntu
ENTRYPOINT ["top", "-b"]
CMD ["-c"]
- 構建鏡像
docker build . -t hello
- 運行鏡像
docker run -it --rm hello -H
啓動 MySQL 客戶端
- 啓動容器內 sh 進程,
docker run -it --net host mysql:5.7 "sh"
- 啓動MySQL客戶端。
mysql -h127.0.0.1 -P3306 -uroot -proot
- 創建卷dblll(這裏是我起的名字)並掛在/var/lib/mysql中
docker rm $(docker ps -a -q) -f -v
docker volume create dblll
docker run --name mysql2 -e MYSQL_ROOT_PASSWORD=root -v dblll:/var/lib/mysql -d mysql:5.7
- 啓動客戶端容器鏈接服務器
docker run --name myclient --link mysql2:mysql -it mysql:5.7 bash
mysql -hmysql -P3306 -uroot -proot