Docker基本管理--docker基本操作、镜像制作方法、私有仓库搭建、端口映射、容器互联、数据卷与数据卷容器

Docker概述

Docker

  Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
  Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
  容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
  Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

沙箱(网络编程虚拟执行环境)

  沙盘英文名sandbox(sandboxie),也叫沙箱,顾名思义可以看做是一种容器,里面所做的一切都可以推倒重来。
  原理引用官方网站的一段话:电脑就像一张纸,程序的运行与改动,就像将字写在纸上。而Sandboxie就相当于在纸上放了块玻璃,程序的运行与改动就像写在了那块玻璃上,除去玻璃,纸上还是一点改变都没有的。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。其为一个独立的虚拟环境,可以用来测试不受信任的应用程序或上网行为。

Docker核心概念

  • 镜像
    • 一个面向Docker容器引擎的只读模板
    • 打包起来的应用以及相关依赖包
  • 容器
    • 从镜像创建的运行实例
    • 将镜像放到容器中去运行
  • 仓库
  • 集中保存镜像的地方

centos安装Docker有两种方式

  • 使用CURL获得Docker的安装脚本进行安装
  • 使用YUM仓库来安装

Docker应用场景

  • 打包应用程序以简化部署(镜像)
  • 可脱离底层硬件任意迁移(依赖引擎)

Docker与虚拟机

  虚拟机就相当于我们的PC一样,依赖于操作系统,可以装载很多的服务,而docker依赖于docker-engine引擎,只能用来装载一个服务。
  像在云上的弹性伸缩,要在短时间内部署好相应的服务以应对高并发,显然创建一台台的云主机,不如Docker来的快,因为云主机依赖操作系统得安装操作系统。
二者区别如下:

docker 虚拟机
资源 资源少(很轻量级的,很多软件要在自己装)
启动时间 十几毫秒 长(几分钟)
安全 共享宿主机内核(会影响寄主机) 系统隔离,安全(因为我们在创建时有创建内存,等)
服务 一个docker跑一个服务 跑多个服务
cgroup 实现docker安全 资源隔离

Docker基本操作

部署19版docker
1.安装依赖包

[root@docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2

#yum-utils提供了yum-config-manager
#device mapper存储驱动程序需要device-mapper-persistent-data和Ilvm2
#Device Mapper是Linux2.6内核中支持逻辑卷管理的通用设备映射机制,
它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。

2.设置阿里云镜像源

[root@docker ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
..
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@docker ~]# cd /etc/yum.repos.d/
可查看到yum仓库中有docker的镜像源docker-ce.repo
[root@docker yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  docker-ce.repo

3.安装Docker-CE

[root@docker ~]# yum -y install docker-ce

[root@docker ~]# iptables -F
[root@docker ~]# setenforce 0
[root@docker ~]# systemctl stop firewalld

[root@docker ~]# systemctl start docker
[root@docker ~]# systemctl enable docker

4.镜像加速
如果没有做镜像加速的话,下载镜像的速度是非常慢的

[root@docker ~]# tee /etc/docker/daemon.json <<-'EOF' 
> { "registry-mirrors": ["https://r3tilm81.mirror.aliyuncs.com"] } 
> EOF
以上这一段是在阿里云官网有的每个人都有自己的
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker

5.网络优化

[root@docker ~]# vim /etc/sysctl.conf 
在末尾添加
net.ipv4.ip_forward = 1
[root@docker ~]# sysctl -p
net.ipv4.ip_forward = 1
[root@docker ~]# service network restart
Restarting network (via systemctl):                        [  确定  ]
[root@docker ~]# systemctl restart docker

镜像相关操作

查看docker版本

[root@docker ~]# docker version

搜索nginx镜像,这些镜像都是经过官网筛选的

[root@docker ~]# docker search nginx
NAME                               DESCRIPT
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值