一:首先來理解三個名詞解釋:
1、鏡像(image)Docker 鏡像(Image)就是一個只讀的模板。例如:一個鏡像可以包含一個完整的操作系統(tǒng)環(huán)境,里面僅安裝了 Apache 或用戶需要的其它應用程序。鏡像可以用來創(chuàng)建 Docker 容器,一個鏡像可以創(chuàng)建很多容器。
2、倉庫(repository)倉庫(Repository)是集中存放鏡像文件的場所。
3、容器(container)Docker 利用容器(Container)來運行應用。容器是從鏡像(Image)創(chuàng)建的運行實例。
二:常用的命令集合如下:
容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause|create]
容器操作運維 — docker[ps|exec|inspect|top|attach|events|logs|wait|export|import|port]
容器rootfs命令 — docker [commit|cp|diff]
本地鏡像管理 — docker [images|rmi|tag|build|history|save]
鏡像倉庫 — docker [login|pull|push|search]
其他命令 — docker [info|version]
詳細命令說明如下:
在后臺啟動一個容器
docker run -d –name alias-Name imageName
啟動容器
docker start Name/ID
停止容器
docker stop Name/ID
重啟容器
docker restart Name/ID
殺死一個運行的容器
docker kill -s KILL Name/ID
刪除容器
docker rm /rm -f Name/ID
停止容器
docker pause Name/ID
恢復容器
docker unpause Name/ID
只創(chuàng)建容器但不啟動
docker create –name CONTAINER_Name imageName
查看運行的容器
docker ps / docker ps -a
進行一個運行中的容器,開啟一個新的終端
docker exec -it CONTAINER_ID /bin/bash
進行一個運行中的容器,不開啟一個新的終端
docker attach CONTAINER_ID
查看容器的相關信息
docker inspect CONTAINER_Name
查看容器里面的進程
docker top CONTAINER_Name
時間戳=2016年7月1日后的相關事件
docker events -f “image”=”imageName” –since=”1467302400″
查看容器的日志輸出
docker logs CONTAINER_Name
阻塞運行直到容器停止,然后打印出它的退出代碼
docker wait CONTAINER_Name
將容器進行打包保存到本地,文件類型為tar
docker export -o test.tar CONTAINER_ID
將上面保存的文件導入到鏡像庫中
cat test.tar |docker import – image_name:tag
查看容器的端口映射情況
docker port CONTAINER_ID
commit 從容器中創(chuàng)建一個新的鏡像
docker commit -a “tony test” -m “my mysql” CONTAINER_ID mymysql:v1docker images mymysql:v1
cp 在使用的過程中會進行多個主機與容器之間的數(shù)據(jù)交換
docker cp /ruiqi/content CONTAINER_ID:/ruiqi/
diff 用來檢查容器里面文件結構的更改
docker diff CONTAINER_ID
查看本地的鏡像,-a 表示是所有的鏡像
docker images /docker images -a
刪除鏡像
docker rmi -f image_name
docker tag mysql:v5.6 mysql:v5.7
構建一個鏡像
docker build -t runoob/ubuntu:v1 .
查看當前這個鏡像的歷史信息
docker history image_name
將當前的鏡像保存到本地的一個tar 類型的文件
docker save -o TestFlask.tar TestFlask:v3
登錄鏡像倉庫
docker login
從鏡像倉庫中拉鏡像
docker pull
向鏡像倉庫推本地的鏡像文件
docker push
檢索鏡像內容
docker search
三:利用dockerfile 制作一個tomcat 運行image:
文件內容如下
[root@localhost common]# more Dockerfile.tomcat FROM daocloud.io/centos:7 COPY jdk-8u144-linux-x64.rpm /opt/jdk-8u144-linux-x64.rpm RUN [“rpm”,”-ivh”,”/opt/jdk-8u144-linux-x64.rpm”] COPY security /usr/java/jdk1.8.0_144/jre/security COPY certs /etc/pki/tls/certs COPY tomcat /opt/tomcat RUN [“ln”,”-s”,”/opt/tomcat”,”/usr/local/tomcat”]