docker应用、搭建、container、image、搭建私有云docker registry、容器通信、端口映射、多机多容器通信、数据持久化、docker部署wordpress、docker co

一、 容器技术和docker简介

1. 部署演变

l 在一台物理机部署Application

l 虚拟化技术

2. 容器的必要性

l 开发人员开发一个Application需要各种环境,各种依赖

l 运维人员部署Application时也需要搭建各种环境

3. 容器解决的问题

l 解决了开发和运维之间的矛盾

4. 容器是什么

l 对软件和其依赖的标准化打包

l 应用之间相互隔离

l 共享同一个OS Kernel

l 可以运行在很多主流操作系统上

5. 虚拟机与容器的区别

l 虚拟机是物理层面的隔离,容器是Application层面的隔离

6. docker是什么

l docker是目前最流行的容器技术的实现

l 2004~2008年Linux已经出现了LXC,2013年docker包装了LXC,2013年三月开源,2016年docker分为企业版和社区版

7. docker能做什么

l 简化配置

l 提高效率

8. dockerkubernates

l docker可以被k8s管理

l kubernetes,简称k8s

9. DevOps

l DevOps ——解决开发和运维间合作和沟通

l 不仅仅依赖docker,还需要版本管理,持续集成等

10. docker的应用

l 在2015年的618大促中,京东大胆启用了基于Docker的容器技术来承载大促的关键业务(图片展现、单品页、团购页),当时基于Docker容器的弹性云项目已经有近万个Docker容器在线上环境运行,并且经受住了大流量的考验

l 2016年618中,弹性云项目更是担当重任,全部应用系统和大部分的DB服务都已经跑在Docker上,包括商品页面、用户订单、用户搜索、缓存、数据库,京东线上将会启动近15万个Docker容器

l 京东弹性计算云通过软件定义数据中心与大规模容器集群调度,实现海量计算资源的统一管理,并满足性能与效率方面的需求,提升业务自助上线效率。应用部署密度大幅提升,资源使用率提升,节约大量的硬件资源

二、 docker环境的各种搭建方法

1. docker的安装介绍

l 官网:https://docs.docker.com/

l Docker 提供了两个版本:社区版 (CE) 和企业版 (EE)

2. docker在mac系统上安装

3. dockerwindows系统上安装

4. dockerCentOS系统上安装

l 官方文档:Install Docker Engine on CentOS | Docker Documentation

防止有残留

yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-selinux \

docker-engine-selinux \

docker-engine

 

安装可能用到的依赖

yum install -y yum-utils \

device-mapper-persistent-data \

lvm2

 

添加位置

yum-config-manager \

--add-repo \

https://download.docker.com/linux/centos/docker-ce.repo

 

查询可以装什么docker版本

yum list docker-ce --showduplicates | sort -r

 

安装指定版本

yum -y install docker-ce-18.06.1.ce-3.el7

 

开启

systemctl start docker

 

设置开机自启动

systemctl enable docker

 

查看版本

 

装完docker,修改如下文件,写入内容,重启docker,配置国内镜像

vi /etc/docker/daemon.json

加入以下内容:

{

"registry-mirrors": [

"https://kfwkfulq.mirror.aliyuncs.com",

"https://2lqq34jg.mirror.aliyuncs.com",

"https://pee6w651.mirror.aliyuncs.com",

"https://registry.docker-cn.com",

"http://hub-mirror.c.163.com"

],

"dns": ["8.8.8.8","8.8.4.4"]

}

重启docker 

systemctl restart docker

5. dockerUbuntu系统上安装

6. docker-machine的使用

l Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker

l 可以通过 docker-machine 命令来管理这些虚拟机和 Docker

7. docker palyground

l 地址:https://labs.play-with-docker.com/

l 直接使用云端的docker

公共的,每个人用4小时

左侧点一下,就增加一个实例

 

三、 docker的镜像和容器

1. docker的底层技术实现架构

l docker提供了打包运行app的平台

l 将app与底层基础设施隔离

2. docker engine

l docker engine是核心,里面有后台进程dockerd,提供了REST API接口,还提供了CLI接口,另外,docker就是一种C/S的架构

3. 整体架构

 

4. 底层技术支持

l Namespaces:网络隔离

l Control groups:资源限制

l Union file systems:系统分层

5. docker image概述

l 是文件和meta data的集合

6. 制作baseImage

l baseImage:基于系统的基础镜像

 

 

根据当前位置编译镜像

docker build -t gochaochao/hello-world .

 

可以查看编译后的镜像

docker image ls

 

运行镜像,成为一个容器

docker run gochaochao/hello-world

 

也可以官方直接拉取镜像

docker pull redis

 

查看镜像

 

7. container概念和使用

l container可以理解为运行时的实例,与image不同

查看所有运行过的container容器

 

如果没有就去官方下载

 

可以交互运行容器

 

此时,可以查到当期运行时的容器

 

删除某个镜像

 

还可以删除所有容器

 

查出所有没有在运行的实例

 

如下指令可以删除没有在运行的容器

 

 

8. 创建Image的两种方式

l 基于image创建container后,如果在container做了一些变化,例如安装了某个软件,可以将这些改变,commit成一个新的image,也可以简写为docker commit

交互运行一个centos实例,给里面装一个lrzsz

 

装完退出

 

可以查看到修改后的容器

 

将这个新的容器,打包成一个新的镜像

生成新的镜像

docker commit determined_hermann gochaochao/centos-lrzsz

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值