1.docker在線安裝與啟動
1.1安裝docker
[root@localhost /]#yum install –y epel-release
[root@localhost /]# yum -y install docker-io
1.2啟動docker服務
[root@localhost /]# service docker start****
Starting cgconfig service: [ OK ]
Starting docker: [ OK ]
1.3將docker加入開機啟動
[root@localhost /]# chkconfig docker on
1.4基本信息查看
docker version:查看docker的版本號,包括客戶端、服務端、依賴的Go等
[root@localhost ~]# docker version
Client:
Version: 1.12.5
API version: 1.24
Package version: docker-common-1.12.5-14.el7.centos.x86_64
Go version: go1.7.4
Git commit: 047e51b/1.12.5
Built: Mon Jan 23 15:35:13 2017
OS/Arch: linux/amd64
Server:
Version: 1.12.5
API version: 1.24
Package version: docker-common-1.12.5-14.el7.centos.x86_64
Go version: go1.7.4
Git commit: 047e51b/1.12.5
Built: Mon Jan 23 15:35:13 2017
OS/Arch: linux/amd64
2 鏡像的獲取
2.1搜索鏡像
docker search <image名稱>:在docker index中搜索image名稱
[圖片上傳失敗...(image-1f0fce-1538011370599)]
2.2下載鏡像
docker pull <image>**** &**** :從docker registry server 中下拉image**
[root@localhost /]# docker pull docker.io/tomcat
2.3查看鏡像
docker images: 列出images
docker images -a :列出所有的images(包含歷史)
docker images --tree :顯示鏡像的所有層(layer)
docker rmi <image ID>: 刪除一個或多個image
[root@physics-xx~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/tomcat latest 0335e4e8579b 11 days ago 355.3 MB
docker.io/wnameless/oracle-xe-11g latest 51fad6f11394 2 weeks ago 2.236 GB
docker.io/bitnami/mariadb latest ee3d42ecbcd6 5 weeks ago 575.3 MB
docker.io/mariadb latest 7eca0e0b51c9 5 weeks ago 393.4 MB
docker.io/ifnazar/sybase_15_7 latest 4f7f34cb9a53 11 weeks ago 3.668 GB
docker.io/hjd48/redhat latest d7852422d6c5 2 years ago 414.2 MB
2.4使用鏡像創建容器
docker run –d <鏡像名稱>
[root@physics-85 ~]# docker run –d docker.io/wnameless/oracle-xe-11g 創建oracle11g容器
2.5 查看容器
docker ps :列出當前所有正在運行的container docker ps -l :列出最近一次啟動的container docker ps -a :列出所有的container(包含歷史,即運行過的container) docker ps -q :列出最近一次運行的container ID
docker stats containt-id 查看容器內存使用情況 containt-id替換為實際id
docker start containt-id 啟動容器
[root@physics-85 ~]#docker ps
[圖片上傳失敗...(image-b0a57b-1538011370598)]
2.6 進入容器
docker exec –it <container id> /bin/bash
[root@physics-85 ~]#docker exec –it cca001892783 /bin/bash 進入數據庫容器
2.7刪除容器
docker rm <container...> :刪除一個或多個container docker rm docker ps -a -q
:刪除所有的container docker ps -a -q | xargs docker rm :同上, 刪除所有的container
2.8再次進入容器
docker start/stop/restart <containerid> :開啟/停止/重啟container docker run -i -t <imagename> /bin/bash :使用image創建container並進入交互模式, login shell是/bin/bash docker run -i -t -p <host_port:contain_port> :映射 HOST 端口到容器,方便外部訪問容器內服務,host_port 可以省略,省略表示把 container_port 映射到一個動態端口。 注:使用start是啟動已經創建過得container,使用run則通過image開啟一個新的container。
3 [Docker鏡像保存為文件及從文件導入鏡像]
3.1保存鏡像為文件
查看文件鏡像: docker images
將鏡像文件保存為本地文件 :
docker save -o 要保存的文件名 要保存的鏡像
[root@physics-85 ~]# docker save -o oracle11g.tar docker.io/wnameless/oracle-xe-11g
將鏡像文件保存到根目錄下
3.2將tar包,拷貝到目標機器上
scp sysbase_15_7.tar root@10.21.17.114:/root/bak
3.3從文件載入鏡像
將本地文件傳到目標機器上,進入相應目錄下,執行:
docker load < 文件名
docker load < oracle11g.tar
export 和import
sudo docker export containerid > 備份包名
cat ubuntu.tar | docker import – fsmp_web:latest
4鏡像的備份
docker 備份容器:
先停止容器,然后再備份
sudo docker commit 50d9d2f63c75 itms/sybase
50d9d2f63c75 是容器id
5[Docker: 如何修改 Docker 的鏡像存儲位置]
方案1, 使用參數-g 來修改 Docker 的鏡像存儲文件夾
修改方法如下: 在 Ubuntu/Debian 系統下: 編輯 /etc/default/docker 文件, 添加-g 參數的設置, 如下:
DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
在 Fedora/Centos 系統下:
編輯 /etc/sysconfig/docker 文件, 添加-g 參數的設置, 如下:
other_args="-g /mnt"
重啟 Docker 服務, 問題就解決了.
方案2 使用鏈接
- 停止 Docker: service docker stop. 2) 做個備份 tar -zcC /var/lib/docker > /mnt/var_lib_docker-backup-$(date + %s).tar.gz 3) 遷移/var/lib/docker目錄到met 目錄下: mv /var/lib/docker /mnt/docker 4) 建個 symlink: ln -s /mnt/docker /var/lib/docker 5) 確認文件夾類型為symlink 類型 ls /var/lib/docker 6) 啟動 docker service.
驗證ssh是否正常:
ssh -p 22 <u>root@10.xx.xx.xx</u>
scp 1.txt root@10.xx.xx.xx:/root