Skip to content

Latest commit

 

History

History
150 lines (126 loc) · 6.85 KB

5.1.md

File metadata and controls

150 lines (126 loc) · 6.85 KB

第五章 容器

5.1 Docker

5.1.1 在linux环境下安装Docker

docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。(摘自百科)

docker的优点

1.更加高效的利用系统资源(容器不需要进行硬件以及运行完整操作系统等额外开销) 2.更快速的启动时间 3.一致的运行环境 4.持续交付和部署(对开发和运维(DevOps)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。) 5.更加轻松的迁移 6.更加轻松的维护和扩展

对比传统虚拟机
特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为 MB 一般为 GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个
容器和虚拟机的区别:
  • 容器是APP层面的隔离
  • 虚拟化是物理资源层面的隔离
  • 虚拟化和容器结合使用
安装docker

查看centos7版本内核要高于3.10

安装

yum install docker
启动docker
systemctl start docker
将docker服务设置为开机启动
systemctl enable docker

5.1.2 镜像操作

5.1.2.1 镜像搜索

镜像搜索使用以下命令

docker search [imagename]

image.png

5.1.2.2 获取镜像

docker pull [imagename]
docker pull [imagename]:1.0.1//指定版本

image.png 由于默认的拉取仓库为国外仓库,无法翻墙,因此无法拉取

解决方法

将镜像源换成阿里云镜像 您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器: image.png 重启docker image.png 再次拉取镜像 image.png

5.1.2.3 查看镜像

查看所有的镜像
docker images

image.png

查看含有关键词的镜像(类似于模糊查询)

例如

docker images|grep mysql

image.png

5.1.2.4 删除镜像

删除某个镜像
docker rmi 镜像名称/镜像ID

例如 image.png

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

image.png

5.1.2.5 上传镜像

上传镜像以阿里云镜像容器服务为例,首先要了解以下术语

公网地址:上传镜像的仓库地址 tag:标签,为镜像设置版本

上传镜像步骤

登录:docker login --username=鱼尾九八一七 registry.cn-beijing.aliyuncs.com 打标签:docker tag [ImageId] registry.cn-beijing.aliyuncs.com/yuwei_test/test:[镜像版本号] 上传:docker tag [ImageId] registry.cn-beijing.aliyuncs.com/yuwei_test/test:[镜像版本号]

例如: image.png

上传

image.png

image.png

5.1.2.6 实例化镜像

实例化镜像即是运行一个镜像,即容器,容器为独立运行的一个或者一组应用以及他们所需要的运行环境

创建一个容器

docker create [选项] 镜像 运行的程序 -i 让容器的输入保持打开状态 -t 让docker分配一个伪终端 例如

docker create -it docker.io/mysql /bin/bash

image.png

5.1.3 容器操作

5.1.3.1 启动容器

启动容器
docker start 容器的id/名称

例如 image.png

5.1.3.2 停止容器

docker stop 容器的id/名称

image.png

5.1.3.3 删除容器

docker rm 容器的id/名称

image.png