docker

https://www.cnblogs.com/openxxs/p/4690478.html
===========================Docker=======================

http://www.cnblogs.com/zhangmingcheng/p/5720792.html
web容器:tomcat weblogic
容器:
     container:
        docker 2014开发
        lxc linux container
轻量级虚拟机(类似于操作系统级虚拟化 openvz)
共享宿主机内核
Docker介绍:
?Docker是Docker.Inc公司开源的一个基于轻量级虚拟化技术的容器
引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议。通过
分层镜像标准化和内核虚拟化技术,Docker使得应用开发者和运维
工程师可以以统一的方式跨平台发布应用,并且以几乎没有额外开
销的情况下提供资源隔离的应用运行环境。

Docker系统有两个程序:
docker服务端和docker客户端。
docker服务端是一个服务进程,管理着所有的容器。
docker客户端则扮演着docker服务端的远程控制器,可以用来控制
docker的服务端进程。


Docker三大核心组件:
? Docker 镜像 - Docker images 
? Docker 仓库 - Docker registeries 
? Docker 容器 - Docker containers 


docker 国内仓库
 网易蜂巢 阿里云 daocloud

===============================安装docker===================

一. 使用官方源安装(法一)
yum -y install docker

二、修改yum源,指定Docker官方的yum源安装(法二)
1.cat >  /etc/yum.repos.d/docker.repo <<eof
[docker]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
eof
2、安装软件:
yum install docker-enginer 
在安装过程中,很容易出现mirror下载速度太低,导致安装失败,多运行几次。

3、启动docker服务(wing提示:注意你的防火墙:)
systemctl start docker.service
`=========================注册网站账号===============`
1.注册网站账号
进入网站:https://hub.daocloud.io/
注册帐号:guoqingyangzz
2.然后进入你自己的“"制台",选择"加速器",点"立即开始",接入你自有的主机,就看到如下的内容了
下载并安装相关软件
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://4fa7a90a.m.daocloud.io 
   
创建或修改 /etc/docker/daemon.json 文件,修改为如下形式 (请将 加速地址 替换为在加速器页面获取的专属地址)

{
    "registry-mirrors": [
        "加速地址"
    ],
    "insecure-registries": []
}
启动服务
systemctl restart docker   
3.配置完成后从Docker Hub Mirror下载镜像,命令:
docker pull ubuntu:12.10
查看已经下载的镜像 
docker image list

运行容器
docker run -i -t  daocloud.io/library/ubuntu

只查看所有镜像的ID
[root@web1 ~]# docker images -q
2e769f4d3e9c
70b5d81549ec
e934aafc2206
1ae98b2c895d

只查看所有容器ID
[root@web1 ~]# docker ps -a -q
f54243bee7e5
a8173539d40f

删除所有镜像
docker rmi $(docker images -q)


移除一个或者多个容器,注意,不可以删除一个运行中的容器,必须先用docker stop或docker kill使其停止。
当然可以强制删除,必须加-f参数
docker rmi ID 
-i 交互式 -t终端

若要断开与容器的连接,并且关闭容器:容器内部执行如下命令
[root@web1 ~]# docker run -it  daocloud.io/centos:5
[root@a23c0d7358d6 /]# exit
exit

查看更详细
[root@web1 ~]# docker inspect a8173539d40f
yum -y install openssh-server
/etc/init.d/sshd start 

注1:wing第一次使用daocloud是配置了加速器的,可以直接使用dao pull centos拉取经过加速之后的镜像,但是后
来发现,不使用加速器也可以直接在daocloud官网上找到想要拉取的镜像地址进行拉取,比如:#docker pull 
daocloud.io/library/tomcat:6.0-jre7
注2:上面配置加速器的方法,官网会更新,最新方法你应该根据官网提示去操作。
进入网站:https://hub.daocloud.io/

==============集群管理====================================

点集群管理-》管理主机

==============================例子====================================
例一 运行交互式的容器

[root@localhost yum.repos.d]# docker run -t -i daocloud.io/centos:7 /bin/echo "hello world"
hello world
-t:在新容器内指定一个伪终端或终端。

-i:允许你对容器内的标准输入 (STDIN) 进行交互。

例二:启动容器(后台模式)

[root@localhost yum.repos.d]# docker run -t -i daocloud.io/centos:7 
/bin/sh -c "while true; do echo hello world; sleep 1; done"  [终端1]

[root@localhost yum.repos.d]# docker ps   查看允许的容器                   [终端2]            
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS               NAMES
6edb81f9abbc        daocloud.io/centos:7   "/bin/sh -c 'while..."   25 seconds ago      Up 25 seconds                           hungry_engelbart
[root@localhost yum.repos.d]# docker logs 6edb81f9abbc 查看容器内的标准输出
hello world
hello world
[root@localhost yum.repos.d]# docker stop 6edb81f9abbc  停止容器
6edb81f9abbc

例三 将镜像打包->删除镜像->镜像还原

[root@localhost yum.repos.d]# docker image list
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
daocloud.io/nginx    latest              cd5239a0906a        2 weeks ago         109 MB
daocloud.io/centos   7                   e934aafc2206        2 months ago        199 MB
[root@localhost yum.repos.d]# docker save -o nginx.tar daocloud.io/nginx
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  nginx.tar
[root@localhost yum.repos.d]# docker rmi daocloud.io/nginx:latest
Untagged: daocloud.io/nginx:latest
Untagged: daocloud.io/nginx@sha256:1f9c00b4c95ef931afa097823d902e7602aebc3ec5532e907e066978075ca3e0
Deleted: sha256:cd5239a0906a6ccf0562354852fae04bc5b52d72a2aff9a871ddb6bd57553569
Deleted: sha256:530991fd6d0f08206190b1bf71ef51b4534365669785cb461c24d62083f67bb3
[root@localhost yum.repos.d]# docker image list
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
daocloud.io/centos   7                   e934aafc2206        2 months ago        199 MB
[root@localhost yum.repos.d]# docker load < nginx.tar
d626a8ad97a1: Loading layer [==================================================>] 58.46 MB/58.46 MB
24ee0a3fd4b9: Loading layer [==================================================>] 54.22 MB/54.22 MB
3ff93588120e: Loading layer [==================================================>] 3.584 kB/3.584 kB

例四 在宿主机和容器之间相互COPY文件

[root@localhost yum.repos.d]# docker pull daocloud.io/mysql:latest
Trying to pull repository daocloud.io/mysql ... 
latest: Pulling from daocloud.io/mysql
[root@localhost yum.repos.d] docker run -t -i daocloud.io/mysql:latest

例五:docker使用mysql

[root@localhost yum.repos.d] docker run --name mysql --restart=always -p 0.0.0.0:3306:3306 -v /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d daocloud.io/mysql:latest

[root@localhost yum.repos.d] docker exec -it mysql bash    首先进入mysql容器的bash终端:
root@9cb5a46ca7dc:/# ls
bin   dev             entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp  var
boot  docker-entrypoint-initdb.d  etc        lib   media  opt  root  sbin  sys  usr
root@9cb5a46ca7dc:/# mysql -u root -p123456       连接mysql
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.11 MySQL Community Server - GPL

将容器的文件系统打包成tar文件
第一种

[root@VM_0_14_centos ~]# docker export --help

Usage:  docker export [OPTIONS] CONTAINER

Export a container's filesystem as a tar archive

Options:
      --help            Print usage
  -o, --output string   Write to a file, instead of STDOUT
[root@VM_0_14_centos ~]# docker export -o centos7.tar centos
[root@VM_0_14_centos ~]# ls
centos7.tar

第二种

[root@VM_0_14_centos ~]# docker save -o cetos7.2.tar centos
docker load < centos.tar

部署私有仓库

docker run -d -p 5000:5000 daocloud.io/library/registry:latest
docker run -d --name myhome -p 5000:5000 daocloud.io/library/registry:latest
docker restart myhome
docker exec -it myhome /bin/sh
docker pull daocloud.io/busybox
docker tag daocloud.io/busybox 119.29.175.88:5000/busybox
docker push 119.29.175.88:5000/busybox
[root@VM_0_14_centos sinatra]# cat /etc/docker/daemon.json
{"registry-mirrors": ["http://4fa7a90a.m.daocloud.io"],"insecure-registries":["119.29.175.88:5000"]}
[root@VM_0_14_centos sinatra]# docker restart myhome
myhome
[root@VM_0_14_centos sinatra]# docker exec -it myhome /bin/sh
/ # ls
bin            entrypoint.sh  home           linuxrc        mnt            root           sbin           sys            usr
dev            etc            lib            media          proc           run            srv            tmp            var
/ # 
[root@VM_0_14_centos sinatra]# docker push 119.29.175.88:5000/v2/_catalog
Error parsing reference: "119.29.175.88:5000/v2/_catalog" is not a valid repository/tag: invalid reference format
[root@VM_0_14_centos sinatra]# curl 119.29.175.88:5000/v2/_catalog
{"repositories":["busybox"]}
杀死所有running状态的容器
# docker kill $(docker ps -a -q)
docker stop id(别名)
docker rm `docker ps -q`

容器通信

1.png
TIM截图20180715145712.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容