搭建環境及說明linux
Centos6.8 64位 關閉selinux 使SELINUX=disabledweb
最好是centos 7 內核爲3.0版本docker
———————————————————————如下爲操做步驟及詳解 ————————————————————bootstrap
1.docker安裝與啓動centos
yum install -y epel-release #centos安裝擴展源bash
yum install docker-io #安裝dockeride
配置文件 /etc/sysconfig/docker網站
chkconfig docker on #加入開機啓動url
service docker start #啓動docker服務spa
2.基本信息查看
docker version #查看docker的版本號,包括客戶端、服務端、依賴的Go等
docker info #查看系統(docker)層面信息,包括管理的p_w_picpaths, containers數等
docker p_w_picpaths 查看本地主機上已有的鏡像
3.鏡像的獲取與容器的使用
docker search xx #搜索公用庫中的xx鏡像
下載鏡像
docker pull xx #從dockerregistry server 中下拉xx到本地
查看本地鏡像
docker p_w_picpaths: #列出p_w_picpaths
docker p_w_picpaths -a #列出全部的p_w_picpaths(包含歷史)
docker rmi <xx ID>: #刪除一個或多個鏡像
利用現有的鏡像的容器製做生成新鏡像
docker commit -m "centos_lin" -a "xxx"f499 centos_new #說明centos_lin爲更改的東西xxx爲做者f499爲被更改的鏡像centos_new爲改後的名字
利用本地模版導入發製做新鏡像 及備份還原
/* 由於直接去網站拿會下載的慢,因此直接到網站裏,對着此包--〉右鍵--〉複製連接地址 網站地址:https://openvz.org/Download/template/precreated */
[root@localhost ~]# wget http://download.openvz.org/template/precreated/centos-6-x86-minimal.tar.gz
[root@localhost ~]# cat centos-6-x86-minimal.tar.gz|docker import - centos-6-x86 //import - (+自定義的名字)
b3b4668e82733e0f8d1fefa950266284924f6223673cc72fd6575ddcaa585109
[root@localhost ~]# docker p_w_picpaths //查看剛剛導入的鏡像是否存在
/* 把現有鏡像,導出爲一個文件, -o要導出最後的文件名要導出的文件的標籤(名)或id */
[root@localhost ~]# docker save -o frankie-centos.tar centos-6-x86 #把現有鏡像,導出爲一個文件
[root@localhost ~]# ls
anaconda-ks.cfg
centos-6-x86_64-minimal.tar.gz
frankie-centos.tar
install.log
install.log.syslog
[root@localhost ~]#
/*用導出的文件恢復本地鏡像 1. 先刪除鏡像 2. 再利用文件恢復
形式:== docker load --input frankie-centos.tar
== docker load < frankie-centos.tar
"frankie-centos.tar" --爲文件名 */
[root@localhost ~]# docker rmi centos-6-x86 #刪除鏡像
Untagged: centos-6-x86:latest
Deleted: c37f3636c1f8d64c2bfb5fbbfc45ac1ae53aac6ea83c6439410c809cba709a9f
[root@localhost ~]# docker p_w_picpaths #查看本地鏡像
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos_with_net latest c5b412fe1c33 About an hour ago 294.1 MB
centos latest d83a55af4e75 4 weeks ago 196.7 MB
frankie latest d83a55af4e75 4 weeks ago 196.7 MB
[root@localhost ~]# docker load < frankie-centos.tar #導入備份鏡像
[root@localhost ~]# docker p_w_picpaths #查看本地鏡像
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos-6-x86 latest c37f3636c1f8 13 minutes ago 343.8 MB
centos_with_net latest c5b412fe1c33 About an hour ago 294.1 MB
centos latest d83a55af4e75 4 weeks ago 196.7 MB
frankie latest d83a55af4e75 4 weeks ago 196.7 MB
//能夠把本身的鏡像傳到dockerrhub官網上,前提是註冊一個用戶
[root@localhost ~]# docker push p_w_picpath_name #上傳p_w_picpath_name 鏡像
使用鏡像建立容器
docker run -it sentos /bin/bash #建立一個容器賓並進入其中,讓其運行 bash 應用
下圖爲進入容器的兩種方法
docker run -itd --name centos_aways --restart=always centos #建立一個名稱centos_aways的容器,自動重啓
# --restart參數:always始終重啓;on-failure退出狀態非0時重啓;默認爲,no不重啓
docker tag centos lin12:lin #至關於拷貝一份並重名爲lin12標籤爲lin 特別說明:此爲一個鏡像
注意:在刪除時最好加上標籤這樣更加精確刪除 例如:docker rmi lin12:lin
docker tag centos lin12 #至關於拷貝一份並重名爲lin12
查看容器
docker ps :列出當前全部正在運行的container
docker ps -l :列出最近一次啓動的container
docker ps -a :列出全部的container(包含歷史,即運行過的container)
docker ps -q :列出最近一次運行的container ID
再次啓動容器
docker start/stop/restart<container> #:開啓/中止/重啓container
docker start [container_id] #:再次運行某個container (包括歷史container)
docker run --name web –itd centos bash #--name 給容器自定義名字
p_w_picpath_name
容器的退出
在docker內容器經常使用有兩種退出方式
第一種(快捷鍵):ctrl+d
第二種命令形式: exit
進入正在運行的docker容器
docker exec -it [container_id]/bin/bash
docker run -it -p<host_port:contain_port> #:映射 HOST 端口到容器,方便外部訪問容器內服務,host_port 能夠省略,省略表示把 container_port 映射到一個動態端口。
刪除容器、鏡像
docker rmi <container...> #: 刪除一個或多個鏡像也能夠使用ID來刪除
若要強制刪除鏡像使用-f選項便可docker rmi –fxxxx
docker rm #刪除容器
docker rm `docker ps -a -q` #:刪除全部的container
docker ps -a -q | xargs docker rm#:同上, 刪除全部的container
docke 製做centos6.8 鏡像
yum -y install febootstrap
febootstrap -i bash -i wget -i yum -iiputils -i iproute centos6 centos6-dochttp://mirrors.163.com/centos/6.8/os/x86_64/
cd centos6-doc/
tar -c .|docker import - centos68-bash#製做鏡像
docker p_w_picpaths#查看鏡像
docker run -t -i centos68-bash /bin/bash#建立容器
docker ps -a#查看容器
docker start 容器ID#啓動容器
docker attach 容器ID#匹配容器
鏡像的導出、導入
方法一
docker save 鏡像名 | bzip2 -9 -c>xxx.tar.bz2 #導出鏡像
bzip2 -d -c <xxx.tar.bz2 | docker load #導入鏡像
方法二
dockersave -o frankie-centos.tar centos-6-x86_64 #導出鏡像
docker load < frankie-centos.tar#導入鏡像
導入、導出容器 (容器導出是指導出一個已經建立的容器到一個文件,你管此時這個容器是否處於運行狀態)
容器導出命令格式: docker export xxxx #xxx爲容器名或ID
docker export576bee4bcebd >121.tar # 導出容器
cat 12.tar|docker import - centos:V7.1 #導入容器 注意:此導入的容器其實是鏡像要讓其成爲容器必須以此鏡像生成容器