Docker容器(分享十五)

       
自从加入合营社云计算部门,接触的新技巧尤其多了,而且客户必要也原来越多样性,做自己一名老IT,也务必跟上节奏,接下去一段时间我先品尝去打听docker基本作用,然后深远去发掘。

即使说娱乐圈的“拼命大姨子”都有什么人,影星刘涛女士必须算一个。尤其是近日几年,她的演绎事业突然呈井喷式暴发。从《琅琊榜》中国和英国气逼人的霓凰主公,到《芈八子传》要旨机爆表的惠文后,再到《欢跃颂》中的霸气女上司,甚至还阅读综艺节目《跨界歌王》,力争歌姬之名。

         一、什么是docker?

图片 1

        Docker
是一个开源的选取容器引擎,让开发者可以打包他们的使用以及凭借包到一个可移植的容器中,然后发表到别的流行的
Linux
机器上,也足以兑现虚拟化。容器是一心使用沙箱机制,相互之间不会有其它接口。

实在,周愔(ID:zhouyinshuo)最初见到刘涛(英文名:Tamia Liu),是在一部名为《原来就是你》的电视剧而熟谙的。那时恰逢高考冲刺时期,课余缓解心态,跟多少个同学追了几集那部剧。现在心想,满满的都是年轻啊!

一个全体的Docker有以下多少个部分构成:

图片 2

  1. dockerClient客户端

  2. Docker Daemon守护进度

  3. Docker Image镜像

  4. DockerContainer容器

扯远了,接着说刘涛女士。也就是那部戏不久后头,刘涛(英文名:Tamia Liu)就嫁入豪门,与当时名噪一时的“京城四少”之一的王珂闪婚成功,并揭露脱离游戏圈,把自己献给“相夫教子”。哪个人知一年后,王珂的集团退步,外债累累。此时,作为幕后的家庭妇女,刘涛(Tamia Liu)没有废弃娃他爹,决然回归演艺圈,拼命接戏,拼命赚钱,以此抚慰受到重创的家庭。要了然,此时的刘涛(Tamia Liu),已经是身为五个儿女的二姑了。

     二、如何设置docker

图片 3

   
docker接济在主流的操作系统平台上利用,包含Ubuntu、Centos、Windows以及MacOS系统等。当然在linux系统平台上是原生襄助,使用体验是最好的。本分享中就以centos为例进行安装

固然如此天天戏里的角色都在变,但三姨这一角色已化作刘涛不变的承负。

    docker援救centos6以及背后的版本

工作再多,名气再火,刘涛(Tamia Liu)对儿女的牵挂从未放松过。但常年奔波的办事性质,有时又不得不捐躯掉陪伴子女的时间。刘涛女士心中隐约担忧着,争持着,就怕一双儿女对自己生疏了,交换不马上了,以至于孩子长大了,跟二姨的情义却裁减了。幸好,kido
watch
帮刘涛女士解决了这个题目。

   $yum install –y docker

图片 4

   三、镜像

“kido
watch作为一款智能儿童手表,让儿女们的孩提更加多姿多彩、越发健康。它加入孩子的成才,更扶助孩子成才,并且在成长进度中让子女与亲人之间的关系更好心理更好。”刘涛(Tamia Liu)体验多少个月后如是表示道。

     1.收获镜像

那款为儿童量身打造的智能小孩子手表,源自乐视小孩子生态,并改为第一款4G全网通小孩子手表、第一款小孩子UI小孩子手表、第一款视网膜小孩子手表,帮老人已毕了全时陪伴、高质地陪伴,让爸妈倍感自己尽职、让儿女享有更雅观的幼时。

docker pull NAME[:TAG]    比如:docker pull Ubuntu

图片 5

    2.查看镜像音信

所谓的全网通,乐视Kido
沃·特(W·at)ch选用了MTK晓龙四核芯片,协助4G全网通,无论移动、联通仍旧电信,通话更加平静,语聊音信更洋洋得意,让子女随时随处跟爸妈互换。同时停放博通集团的LTO星历帮忙定位技术,也让老人家更精准定位到孩子的岗位。

[root@localhost ~]# docker images;
REPOSITORY          TAG                 IMAGE ID           
CREATED             SIZE
docker.io/ubuntu    latest              00fd29ccc6f1        32 hours
ago        110.5 MB
[root@localhost ~]# docker inspect 00fd29ccc6f1

图片 6

[
    {
        “Id”:
“sha256:00fd29ccc6f167fa991580690a00e844664cb2381c74cd14d539e36ca014f043”,
        “RepoTags”: [
            “docker.io/ubuntu:latest”

所谓的UI设计,乐视Kido
沃·特(W·at)ch基于Android深度开发,专属儿童的动漫智能操作系统。场景化动态交互,每几遍触摸,都让儿女喜爱。深度定制的巴中系统,家长可随时根据孩子必要扩大手表应用。

   3.搜索镜像(搜索远端仓库中共享的镜像,默许搜索docker
HUB官方仓库中的镜像)

图片 7

docker search mysql
INDEX      
NAME                                                            
DESCRIPTION                                     STARS     OFFICIAL  
AUTOMATED
docker.io  
docker.io/mysql                                                  MySQL
is a widely used, open-source relati…   5412      [OK]      
docker.io  
docker.io/mariadb                                                MariaDB
is a community-developed fork of M…   1676      [OK]      
docker.io  
docker.io/mysql/mysql-server                                    
Optimized MySQL Server Docker images. Crea…   373                 
[OK]
docker.io  
docker.io/percona                                                Percona
Server is a fork of the MySQL rela…   309       [OK]      
docker.io  
docker.io/hypriot/rpi-mysql                                     
RPi-compatible Docker Image with Mysql          74                  
docker.io  
docker.io/zabbix/zabbix-server-mysql                             Zabbix
Server with MySQL database support       66                   [OK]
docker.io  
docker.io/centurylink/mysql                                      Image
containing

所谓的视网膜,乐视Kido
沃·特(W·at)ch有1.4寸全贴合高清视网膜屏幕,家长可安装夜间护眼格局,自动调节亮度和色温,悉心呵护孩子视力。

4.删减镜像

图片 8

docker rmi image(image可以为标签或者ID)

所谓的高质地陪伴,乐视小孩子拥有2万集小孩子教育资源,以及无数上流IP。同时还与喜马拉雅、淘米等资源平台合营,提供定制的童谣、故事、科普、国学、土耳其(Turkey)语等儿童教育和游玩内容,已毕内容在线实时更新,随时随处方播。

docker rmi Ubuntu:latest

图片 9

dicker rmi –f ubuntu  强行删除,不提议如此操作

Kido沃特ch作为乐视MFL(Made For
LeEco)的率先款深度定制小孩子产品,可获取乐视所提供的生态服务:乐视覆盖环球的680七个CDN节点,20T带宽,将为Kido沃特ch的情节传输和显示提供支撑;乐视小孩子频道为kido
wacth提供连绵不断的始末接济;kido
watch仍是可以与乐视一级手机、一流TV等生态智能硬件联结,为亲子关系成立活动互联网和大屏互联网极致体验;乐视的选取公司,可以为用户提供更加多的生态服务,来满足孩子对此未来的商量和求知必要。

一般提出先删除看重该镜像的具备容器,再来删除镜像。

那也正适合了乐视儿童生态的7大特点,即系列化、双语化、插足化、健康化、安全化、简易化、生态化。

docker ps -a查看本机上存在的器皿。

名牌辣妈刘涛(Tamia Liu)还坦言,我最讲究的就是乐视Kido
沃·特(W·at)ch在真正适合小朋友的情节方面的布局,那样即便我在外面拍戏很久不能够来看孩子,我也了然孩子在触及什么,我也会放心很多。

5.开立镜像

​越多有料作品请搜索微信公众账号(zhouyinshuo)关心周愔

根据已有的镜像的容器成立:

[root@localhost ~]# docker run -ti ubuntu /bin/bash

touch test

exit

docker commit –m “Added a new file” –a “docker Newbee” 8bd2274ada22 
test  9ecdbadc

据悉本地模板导入

cat ubuntu –14.04-x86_64-minimal.tar.gz |docker import – ubuntu:14.04

 

6.存出和载入镜像

存出镜像

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID           
CREATED             SIZE
docker.io/ubuntu    latest              00fd29ccc6f1        2 days
ago          110.5 MB
docker.io/httpd     latest              7239615c0645        5 days
ago          177.3 MB
docker.io/mysql     latest              7d83a47ab2d2        5 days
ago   

[root@localhost ~]# docker save -o ubuntu_test.tar ubuntu
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID           
CREATED             SIZE
docker.io/ubuntu    latest              00fd29ccc6f1        2 days
ago          110.5 MB
docker.io/httpd     latest              7239615c0645        5 days
ago          177.3 MB
docker.io/mysql     latest              7d83a47ab2d2        5 days
ago          408.2 MB
[root@localhost ~]# ls
anaconda-ks.cfg  ubuntu_test.tar

载入镜像

docker load < ubuntu_test.tar

四、容器

简单易行地说,容器是镜像的一个运作实例,所不一样的是,它涵盖额外的可写文件层。

始建容器:

新建容器:

[root@localhost ~]# docker create -it ubuntu:latest
743f20816538a52a686cf61d6a30db6fdb609c0da2d6a844e645b334b9bb3252

docker start

新建并启动容器

docker run ubuntu  /bin/echo “Hello world’

docker ps: 查看当前运作的容器

docker ps -a:查看所有容器,包涵截止的

docker ps -l :查看最新创造的器皿,只列出最后创设的。

docker ps -n=2:-n=x选项,会列出最后创造的x个容器。

容器名:docker start docker_run,或者ID:docker start 43e3fef2266c

–restart(自动重启):默许情状下容器是不重启的,–restart标志会检查容器的退出码来控制容器是或不是重启容器。

docker run --restart=always --name docker_restart -d centos /bin/sh -c "while true;do echo hello world; sleep;done":

--restart=always:不管容器的重回码是怎么着,都会重启容器。

--restart=on-failure:5:当容器的重回值是非0时才会重启容器。5是可选的重启次数

容器终止

docker stop [NAME]/[CONTAINER ID]:将容器退出。

docker kill [NAME]/[CONTAINER ID]:强制截至一个容器。

去除容器

docker rm [NAME]/[CONTAINER ID]

容器终止后,在需要的时候可以重新启动,确定不需要了,可以进行删除操作。

 

导入和导出容器

[root@localhost ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND               
CREATED             STATUS                     PORTS              
NAMES
dd7eef06ccba        ubuntu              “/bin/echo “Hello w”   12
minutes ago      Exited (0) 4 minutes ago                      
silly_meitner
[root@localhost ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND               
CREATED             STATUS                     PORTS              
NAMES
dd7eef06ccba        ubuntu              “/bin/echo “Hello w”   12
minutes ago      Exited (0) 4 minutes ago                      
silly_meitner
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                 
CREATED             STATUS                      PORTS              
NAMES
dd7eef06ccba        ubuntu              “/bin/echo “Hello w”     14
minutes ago      Exited (0) 7 minutes ago                       
silly_meitner
743f20816538        ubuntu:latest       “/bin/bash”              17
minutes ago      Created                                        
nostalgic_stonebraker
8bd2274ada22        ubuntu              “/bin/bash”              31
minutes ago      Exited (0) 31 minutes ago                      
sad_mccarthy
7786523990bf        ubuntu              “/bin/bash”              30
hours ago        Exited (0) 30 hours ago                        
awesome_goldstine
175c8cf0149e        ubuntu              “echo ‘hello! I am he”   30
hours ago        Exited (0) 30 hours ago                        
fervent_kowalevski
[root@localhost ~]# docker export dd7eef06ccba > test.tar

 

cat test.tar |docker import –test/ubuntu

 

五、仓库

docker 官方维护了一个共用仓库 http://hub.docker.com 
,大致15000四个镜像

六、数据管理

用户在动用docker的经过中,往往必要能查看容器内选取爆发的数目,或者要求把容器内的数目开展对应的备份,甚至想把多个容器之间展开数据的共享,那必将涉及容器的多少管理操作。容器中管理数据主要有二种办法:

  • 数据卷(Data Volumes)
  • 数据卷容器(Data Volume Containers)
在容器内创设一个数额卷

docker run -it –rm –name web -v /src/webapp:/opt/webapp
training/webapp python app.py
#将宿主机中的/src/webapp目录挂载到容器中的/opt/webapp中

数码容器
  • 先是,成立一个数额卷容器dbdata,并在里头成立一个多少卷挂载到/dbdata

docker run –name jpzhu_centos -v /jpzhu_file –rm -it centos
/bin/bash
#成立一个数量容器并且挂载其中/jpzhu_file文件作为其余容器共享的数目卷

  • 进而,可以在其他的容器中使用–volumes-from
    来挂载dbdata中的/jpzhu_file
应用多少卷容器迁移数据

备份

$ docker run –name worker -v ${pwd}:/backup –volumes-from dbdata -d
centos tar cvf /backup/backup.tar /dbdata

恢复

docker run –volumes –from dbdata2 –v(pwd):/backup busybox tar xvf /backup/backuptar