Docker基礎學習--搭建環境

Docker 是一個開放源代碼軟件項目,讓應用程序佈署在軟件容器下的工作可以自動化進行,藉此在 Linux 操作系統上,提供一個額外的軟件抽象層,以及操作系統層虛擬化的自動管理機制。

1、Docker安裝

相對而言,Linux 上安裝 Docker 是最容易的,其次是 Mac ,最後是 Windows ,Windows 因此要裝的東西比較多,官方也提供了兩個不同的安裝包,支持不同的 Windows 的不同版本,一個是針對 Win10 的安裝引導程序,還有一個是兼容性較好的 Toolbox ,但是在 Windows 上運行 Docker ,後期在虛擬目錄等方面還會遇到各種問題,所以這裏松哥是非常不建議大家在 Windows 中安裝 Docker ,有 Mac 的上 Mac (Mac 上安裝 Docker 就像安裝普通軟件一樣),沒有 Mac 的裝 Linux 虛擬機,再裝 Docker 即可,這裏我就先以 CentOS 上安裝 Docker 爲例,來說說 Docker 安裝。

//更新yum
yum update
//更新第三方軟件庫
yum install epel-release
//安裝Docker服務
yum install docker
//然後啓動 Docker 服務
service docker start
//測試安裝是否成功
docker -v

 

2、安裝docker-compose

兩種方式:

第一種:

$ curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
// 測試安裝成功命令
$ docker-compose --help

第二種:可以通pip方式安裝(下面的安裝方式如果報錯 請沿用上面的安裝方式):

yum -y install epel-release
yum -y install python-pip
pip install --upgrade pip
yum install -y python-devel python34-devel  gcc
pip install docker-compose

如果pip安裝docker-compose時出現如下報錯時:
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError
請使用此命令安裝:
pip install docker-compose -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

其他問題彙總

3、配置阿里鏡像加速

配置公用加速器:

vi /etc/docker/daemon.json 
加入

{
  "registry-mirrors": ["https://i3gzpg87.mirror.aliyuncs.com"]
}

重啓docker服務

sudo systemctl daemon-reload
sudo systemctl restart docker

4、限制Docker容器日誌

受限於磁盤空間大小,不能讓docker容器日誌無限制增長,需要對其進行限制:

vi /etc/docker/daemon.json

{
    "registry-mirrors": ["https://i3gzpg87.mirror.aliyuncs.com"],
    "log-driver":"json-file",
    "log-opts": {"max-size":"500m", "max-file":"3"}
}

max-size=500m,意味着一個容器日誌大小上限是500M,
max-file=3,意味着一個容器有三個日誌,分別是id+.json、id+1.json、id+2.json。
修改後,docker需要重新加載配置文件和重啓。

如果報錯,應該是和/etc/sysconfig/docker中的配置衝突

vi /etc/sysconfig/docker 找到 OPTIONS=’—selinux-enabled —log-driver=journald —signature-verification=false’ 刪除其中的—log-driver=journald默認日誌驅動的指定 然後再重啓docker服務即可

5、運用docker-compose批處理命令

以nginx爲例:

a.在home目錄下新建文件夾test,並新建文件 docker-compose.yml,文件內容

version: '2'
services:
    nginx:
        image: nginx
        restart: always
        container_name: sw-nginx
        ports:
            - "8080:80"

將nginx的80端口映射爲8080

然後在test下面執行命令:

docker-compose up #前臺運行

然後,在瀏覽器訪問 http://ip:8080/ 會出現 nginx 歡迎界面,然後在命令界面Ctrl + C退出運行

進入test目錄,執行命令

docker-compose up -d #後臺運行
docker ps  #查詢運行情況
// 找到NAMES列,看到運行容器 sw-nginx
docker-compose logs --tail 333 --follow  #批處理查看日誌命令
// 看到打印LOG,然後在瀏覽器訪問 http://ip:8080/ 看LOG刷新,Ctrl + C退出運行
docker logs sw-nginx --tail 333 --follow #單節點查看日誌命令
// 看到打印LOG,然後在瀏覽器訪問 http://ip:8080/ 看LOG刷新,Ctrl + C退出運行
docker-compose down #停止運行
docker ps  #查詢運行情況
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章