服務計算——容器化技術與容器服務


本文簡要記錄了在CentOS7中安裝docker的步驟和MYSQL的容器化

Docker

Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從 Apache2.0 協議開源。
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。

準備docker環境

使用阿里雲安裝docker

  1. 建立倉庫
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

在這裏插入圖片描述
2. 獲取阿里雲docker

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在這裏插入圖片描述
3. 查看指定版本

yum list docker-ce --showduplicates

可以看到有多種版本的docker選擇安裝
在這裏插入圖片描述
4. 安裝指定版本

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

我們選擇安裝17.03.2版本:
在這裏插入圖片描述
5. 也可以通過sudo yum install docker-ce默認安裝最新版,不指定版本號
6. 啓動docker

Start docker service
systemctl enable docker
systemctl start docker

docker version檢查docker安裝:
在這裏插入圖片描述

運行容器

  1. 啓動容器:
    在這裏插入圖片描述
  2. 運行ubuntu鏡像:
    在這裏插入圖片描述

Docker基本操作

  1. docker images顯示本地鏡像庫:
    在這裏插入圖片描述
  2. docker ps顯示運行中的容器:
    docker ps -a顯示所有容器
    在這裏插入圖片描述
  3. 繼續運行並進入原容器:
    在這裏插入圖片描述
  4. docker --help獲得更多幫助

MYSQL與容器化

構建鏡像練習

  1. 嘗試着構建一個docker鏡像,創建一個新目錄並進入,在目錄下編輯dockerfile文件,錄入如下內容:

在這裏插入圖片描述

  1. docker build . -t hello命令構建鏡像
    在這裏插入圖片描述
  2. docker run -it --rm hello -H啓動鏡像:
    在這裏插入圖片描述

使用MYSQL容器

  1. 啓動服務器:
    在這裏插入圖片描述
  2. 啓動MYSQL客戶端:
docker run -it --net host mysql:5.7 "sh"
mysql -h127.0.0.1 -p3306 -uroot -proot

進入mysql客戶端,順利執行mysql基本操作:
在這裏插入圖片描述
3. 創建卷並掛載:

docker rm $(docker ps -a -q) -f -v
docker volume create mydb
docker run --name mysql2 -e MYSQL_ROOT_PASSWORD=root -v mydb:/var/lib/mysql -d mysql:5.7

並通過客戶端容器鏈接服務器:
在這裏插入圖片描述

容器監控與日誌

  1. docker logs [OPTIONS] CONTAINER 查看容器的日誌:

如:查看進近30分鐘內hello-world鏡像的日誌在這裏插入圖片描述
2. 檢查docker的狀態:docker info [OPTIONS]

在這裏插入圖片描述
在這裏插入圖片描述
3. docker inspect 查看容器詳細信息:

如:查看mysql容器的信息在這裏插入圖片描述

過程中的錯誤及解決方案

  1. 運行某指令時,顯示pid被鎖定
    在這裏插入圖片描述
  • 解決方法:
    殺死佔用的進程,或者直接rm -f /var/run/yum.pid 刪除進程文件
    在這裏插入圖片描述
  1. docker啓動時:Got permission denied while trying to connect to the Docker daemon
  • 問題:沒有把登陸用戶加入進docker用戶組
  • 解決方法:
sudo groupadd docker     #添加docker用戶組
sudo gpasswd -a $USER docker     #將登陸用戶加入到docker用戶組中
newgrp docker     #更新用戶組

3. docker-compose與yum對python版本的支持不兼容問題

由於安裝docker-compose需要python2.7的支持,而yum是不支持python2.7的,所以需要爲yum指定python2.6

yum時出現的錯誤:

# yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
 No module named yum
... ... ... ...
  • 解決方法:
    編輯yum配置文件:
# vim /usr/bin/yum
#!/usr/bin/python
# 第一行修改爲 python2.6.6
#!/usr/bin/python2.6.6
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章