Docker常見命令以及製作tomcat映象釋出專案
見官網
2.安裝
檢視是否已經安裝的Docker軟體包 sudo yum list installed | grep docker
如果已安裝不想要docker則解除安裝掉: sudo yum -y remove docker-io.x86_64
2.1 Centos 7.X版本
yum install docker
2.2 Centos 6.X版本
Centos6.7的標準yum源中已經沒有Docker的安裝包了,這時,我們需要安裝EPEL
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install docker-io
直到看到Complete! 基本上即為成功
使用docker –v 檢視版本
3. 啟動
3.1 Centos 7.X版本
啟動/停止/重啟/檢視狀態/開機啟動
systemctl start/stop/restart/status/enable docker
3.2 Centos 6.X版本
啟動/停止/重啟/檢視狀態/開機啟動
Service docker start/stop/restart/status/enable
4. 映象操作
列出本地所有映象 docker images
搜尋網路映象 docker search +關鍵字
拉取映象 docker pull +關鍵字
刪除單個映象 docker rmi 映象id
刪除所有映象 docker rmi `docker images -q`
注:因為拉取的映象為國外映象,下載速度會特別慢,所以推薦使用國內映象,國內映象地址有很多.例如:
5. 容器操作
檢視正在執行容器 docker ps
檢視所有容器 docker ps -a
檢視最後一次執行的容器 docker ps -l
檢視停止容器 docker ps -f status=exited
啟動已存在容器 docker start <CONTAINER ID/NAME>
關閉已存在容器 docker stop <CONTAINER ID/NAME>
5.1 容器的建立
使用命令 docker run
引數說明:
-i : 表示執行容器
-t : 標識同期啟動後會進入其命令列,即為建立一個互動式容器.
-d : 不會自動登入,容器後臺執行,即為建立一個守護式容器.
--name : 為建立的容器命令
-v : 表示目錄對映關係 後面接引數 宿主機目錄:容器中的目錄
-p : 表示埠對映關係
注 : -v -p 可以在建立容器是多次使用 做多個目錄或埠對映,
推薦使用-v –p,
使用-v後,在宿主機上修改檔案,就共享到容器上了.
使用-p後,可以訪問宿主機的ip:埠就可以訪問容器.
5.2 互動式容器
可以簡單的把互動式容器理解為前臺啟動,把守護式容器理解為後臺啟動
建立一個互動式容器 並取名為 myredis:
docker -it --name=mybatis -p 6379:6379 \
daocloud.io/daocloud/dao-redis: master-init
建立成功後,通過docker ps命令查詢,可以看到啟動的容器,狀態為啟動狀態
使用exit命令 退出當前容器
互動式容器使用exit退出後 容器變成關機狀態
5.3 守護式容器
建立一個互動式容器 並取名為 mytomcat:
docker run -di --name=mytomcat4 -p 8080:8080 \
-v /usr/local/tomcat:/usr/local/tomcat/webapps \
--privileged=true \
daocloud.io/library/tomcat:latest
登入守護式容器的方法
docker ecex –it 容器名/容器id /bin/bash
使用exit命令 退出當前容器
守護式容器使用exit 退出會變成後臺執行狀態
使用ps檢視仍然可以看到容器正在執行
後面接/bin/bash 命令入容器內部,可以檢視容器內部的目錄結構
5.4 檔案拷貝
docker cp 需要拷貝到容器的檔案或目錄 容器名稱:容器目錄
可以宿主機拷貝到容器,也可以容器拷貝到宿主機,不可以容器拷貝到容器
(docker cp 原檔案目錄 目標目錄)
5.5 埠對映、目錄掛載
-v -p
如果共享的是多級目錄,可能會出現許可權不足的提示,
需要新增引數--privileged=true來解決許可權問題
5.6 檢視容器IP
檢視容器執行時的各種引數:
docker imspect mytomcat77
只檢視該容器的ip地址:
docker imspect
--format=’{.NetworkSrttings.IPAddress}}’ mytomcat77
5.7刪除容器
刪除指定容器
docker rm 容器名/id
刪除所有容器
Docker rm `docker ps –a –q`
注: 只能刪除已經停止的容器
6. 製作映象
6.1準備工作
6.1.1 準備JDK+TOMCAT軟體
將apache-tomcat-7.0.57.tar.gz和jdk-7u75-linux-x64.tar.gz,儲存於宿主機(Linux機器的本地目錄/usr/docker0312下)。為了製作時更加快捷,我直接在本地解壓了兩個軟體,並將目錄名字吻別重新命名為jdk和tomcat。
根據自己需求,自己修改tomcat的配置檔案
6.1.2 拉取Centos6映象
因為拉去國外網站的映象比較慢,所以我們選擇拉取:
docker pull daocloud.io/centos:6
6.2編寫Dockerfile檔案
6.2. 編寫Dockerfile檔案 #--------------------------------------------------------------------- #This is a comment註釋 #使用基礎映象daocloud.io/centos:6 FROM centos:6 MAINTAINER lcs5 <<A href="[email protected]">[email protected]> #切換映象的目錄,進入/usr目錄(基礎映象是一個linux系統,可參照linux檢視相應目錄) #在/usr/下建立java目錄,用來存放jdk #切換映象的目錄至/usr/java #在/usr/java下建立jdk目錄,用來存放jdk檔案 #切換映象的目錄至/usr/java/jdk #將宿主機的jdk目錄下的全部檔案考入至映象的/usr/java/jdk目錄下 #切換映象的目錄至/opt #在/opt下建立tomcat目錄,用來存放tomcat檔案 #將宿主機的tomcat目錄下的全部檔案考入至映象的/opt/tomcat目錄下 #設定環境變數 ENV JAVA_HOME=/usr/java/jdk #設定容器啟動時執行的操作 CMD /opt/tomcat/bin/catalina.sh run #--------------------------------------------------------------------- 以上就是Dockerfile檔案的內容,將該檔案存入宿主機當前目錄/usr/docker0312下,與jdk,tomcat同目錄。 |
6.3 製作映象
6.3 製作映象
使用命令:dockerbuild -t centos_jdk7_tomcat7_lcs:latest .
其中centos_jdk7_tomcat7_lcs為映象名稱,latest為映象tag
映象製作完成後,使用docker images命令,可以檢視到當前映象
7. 備份與恢復
儲存容器為映象 docker commit 容器名 映象名
映象儲存為檔案 docker save –o 檔名 映象名
儲存為檔案後可以拷貝,備份,儲存到本地等操作
檔案恢復成映象 docker load –i 檔名
恢復時不需要指定映象名,檔案中有儲存