doker使用(一)

搭建環境及說明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  查看本地主機上已有的鏡像

1.jpg

spacer.gif

3.鏡像的獲取與容器的使用

docker search xx  #搜索公用庫中的xx鏡像

1.jpg

 下載鏡像

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爲改後的名字

spacer.gif

利用本地模版導入發製做新鏡像  及備份還原

/* 由於直接去網站拿會下載的慢,因此直接到網站裏,對着此包--〉右鍵--〉複製連接地址 網站地址: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 應用

spacer.gif

256.jpg

下圖爲進入容器的兩種方法

spacer.gif

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

spacer.gif

docker tag centos lin12 #至關於拷貝一份並重名爲lin12

spacer.gif

查看容器

    docker ps :列出當前全部正在運行的container

    docker ps -l :列出最近一次啓動的container

    docker ps -a :列出全部的container(包含歷史,即運行過的container

    docker ps -q :列出最近一次運行的container ID

再次啓動容器

docker start/stop/restart<container> #:開啓/中止/重啓container

spacer.gif

docker start [container_id] #:再次運行某個container (包括歷史container

docker run --name web –itd centos bash  #--name 給容器自定義名字

p_w_picpath_name  

容器的退出

docker內容器經常使用有兩種退出方式

 第一種(快捷鍵):ctrl+d

第二種命令形式: exit

spacer.gif

進入正在運行的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來刪除  

spacer.gif

若要強制刪除鏡像使用-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 #導入容器  注意:此導入的容器其實是鏡像要讓其成爲容器必須以此鏡像生成容器

spacer.gif

相關文章
相關標籤/搜索