本文實踐操做系統版本爲CentOS 7.2 64 3.10.0-514.6.2.el7.x86_64
。php
Docker要求64位的系統且內核版本至少爲3.10web
一、添加yum源。docker
# yum install epel-release –y # yum clean all # yum list
二、安裝並運行Dockerapache
# yum install docker-io –y # systemctl start docker
三、檢查安裝結果vim
# docker info
出現如下xin說明信息則代表安裝成功。centos
一、Docker守護進程管理瀏覽器
# systemctl start docker #運行Docker守護進程 # systemctl stop docker #中止Docker守護進程 # systemctl restart docker #重啓Docker守護進程
二、鏡像管理。bash
下載基礎鏡像,本文使用的是來自阿里雲倉庫的Apache鏡像測試
# docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
修改標籤,因爲阿里雲倉庫鏡像的鏡像名稱很長,能夠修改鏡像標籤以便記憶區分。ui
# docker tag registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5:latest aliweb:v1
查看已有鏡像。
# docker images
強制刪除鏡像
# docker rmi –f registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
三、容器管理。e121d5f99e1e是執行docker images命令查詢到的IMAGE ID,使用docker run命令進入容器。
# docker run –ti e121d5f99e1e /bin/bash
使用exit能夠退出當前容器。run命令加上–d參數能夠在後臺運行容器,—name指定容器命名爲apache。
# docker run -d --name apache e121d5f99e1e
進入後臺運行的容器。
# docker exec -ti apache /bin/bash
將容器作成鏡像。
# docker commit containerID/containerName newImageName:tag
爲了方便測試和恢復,先將源鏡像運行起來後再作一個命名簡單的鏡像作測試。
# docker commit 4c8066cd8c01 apachephp:v1
運行容器並將宿主機的8080端口映射到容器裏去。
# docker run -d -p 8080:80 apachephp:v1
在瀏覽器輸入宿主機ip加8080端口訪問測試,出現如下內容則說明運行成功。
一、準備dockerfile內容。
# vim Dockerfile FROM apachephp:v1 #聲明基礎鏡像來源 MAINTAINER DTSTACK #聲明鏡像擁有者 RUN mkdir /dtstact #RUN後面接容器運行前須要執行的命令,因爲Dockerfile文件不能超過127行,所以當命令較多時建議寫到腳本中執行 ENTRYPOINT ping www.aliyun.com #開機啓動命令,此處最後一個命令須要是可在前臺持續執行的命令,不然容器後臺運行時會由於命令執行完而退出。
二、構建鏡像。
docker build -t webcentos:v1 . # . 是Dockerfile文件的路徑,不能忽略 docker images #查看是否建立成功 docker run –d webcentos:v1 #後臺運行容器 docker ps #查看當前運行中的容器 docker ps –a #查看全部容器,包括未運行中的 docker logs CONTAINER ID/IMAGE #如未查看到剛纔運行的容器,則用容器id或者名字查看啓動日誌排錯 docker commit fb2844b6c070 dtstackweb:v1 #commit 後接容器id 和構建新鏡像的名稱和版本號。 docker images #列出本地(已下載的和本地建立的)鏡像 docker push #將鏡像推送至遠程倉庫,默認爲 Docker Hub
三、將鏡像推送到registry。
docker login --username=dtstack_plus registry.cn-shanghai.aliyuncs.com #執行後輸入鏡像倉庫密碼 docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/dtstack123/test:[鏡像版本號] docker push registry.cn-shanghai.aliyuncs.com/dtstack123/test:[鏡像版本號]
在鏡像倉庫能查看到鏡像版本信息則說明push成功
其中[ImageId],[鏡像版本號]請您根據本身的鏡像信息進行填寫。