Docker的一个基本使用以及小案例

1.1Docker 应用场景及理念

微服务领域 : 有助于 Microservices 的落地和部署
隔离应用 : 充分利用物理机资源,同时能够整合服务器资源 ( 隔离应用、在同一
硬件上运行更多工作负载 )
快速、一致地交付您的应用程序 : 提高开发效率,测试效率,部署效率,有利于
DevOps 的落地, CICD
Docker 理念: Build,Ship and Run Any App Anywhere, 在任何地方构建、
发布并运行任何应用程序(一次封装,到处运行 )

1.2docker的架构

docker 由三部分组成: Client 客户端、 docker 主机、 Registry 镜像仓库服务器
docker 主机
docker daemon docker 安装后,会以后台运行、守护进程的形式存在
images 镜像: 镜像可以用来创建 docker 容器,一个镜像可以创建很多容器
containers : 镜像和容器的关系类似面向对象设计中的类和对象 ,
镜像是容器的模板,容器是基于镜像创建出来的。
容器可以被创建、启动、停止、删除等等。
注意: Docker 镜像(
Image )就是一个只读的模板!也即 不可以修改镜像
Registry :镜像注册服务器 https://hub.docker.com
一个 docker Registry (仓库注册服务器) 中可以包含多个 Repository (仓库);
每个仓库可以包含多个标签 / 版本( Tag );每个标签对应一个镜像。
仓库分为公开仓库( Public )和私有仓库( Private )两种形式 , 公开仓库就是
docker 官方仓库 , 私有仓库是自己搭建的 docker 私服
Client docker 终端
安装好 docker 中,同时包含了 docker 客户端,客户端负责执行 docker 命令,
发送给 docker 主机中的 docker 守护进程,例如:从仓库下载镜像,通过镜像创
建容器等等。
 

2.1CentOS7 安装 docker

官网:
http://www.docker.com
安装手册: https://docs.docker.com/install/linux/docker-ce/centos(CE- 社区版 )

2.2安装需要的软件包

yum-utils 提 供 了 yum-config-manager 相 关 功 能,
device-mapper-persistent-data lvm2 是设备映射器驱动程序所需要的。
yum install -y yum-utils device-mapper-persistent-data lvm2
如果遇到说遇到报错,例如网元怎么怎么样的,多半是少了配置信息
1、进入到 yum 的 repos 目录
cd /etc/yum.repos.d/

2、修改 centos 文件内容
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

3、生成缓存更新,第一次做这个操作会十分的缓慢,大概等待两分钟左右
yum makecache

运行 yum update 并重新安装 vim
yum update -y
yum -y install vim

2.3设置 docker 下载镜像

docker 官方下载地址 :
yum-config-manager \
--add-repo https://download.docker.com/linux/centos/docker-ce.repo
推荐阿里云下载地址(推荐)
yum-config-manager \
--add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.4更新 yum 软件包索引

我们在更新或配置 yum 源之后 , 通常都会使用 yum makecache 生成缓存,这个
命令是将软件包信息提前在本地缓存一份 , 用来提高搜索安装软件的速度
yum makecache fast
如果你是cen8的话使用下面这个命令
dnf makecache

2.5安装 DOCKER CE

yum install -y docker-ce docker-ce-cli containerd.io
如果报错,重新执行安装一次

2.6启动 docker

systemctl start docker
systemctl enable docker # 设置开机自启动
docker version     版本验证
 
docker 卸载
systemctl stop docker
yum remove -y docker-ce
rm -rf /var/lib/docker
查看docker启动状态
systemctl status docker

3.1容器镜像服务

在阿里云官网搜索容器镜像服务 

然后直接cv操作文档的内容即可 

4.1启动一个hello-world

4.1.1运行 hello-world 程序

docker run hello-world: 以镜像为模板创建 docker 容器并运

成功了!!!

4.1.2运行流程如下

首先docker容器必须是运行着,我们可以使用docker pull下载镜像,然后这一个镜像(image)就可以创建多个实例,就像我docker run hello-world  其中hello-world就是镜像,在他的基础上我们运行的都是他的实例,然后将这个实例运行起来。

使用docker images能够查看到镜像信息

5.1 Docker常用命令

版本信息 : docker version
详细信息 : docker info
帮助文档 : docker --help // 列出所有的 docker 命令
启动 docker 服务 : systemctl start docker
停止 docker 服务 : systemctl stop docker
查看服务状态 : systemctl status docker
重启 docker 服务 : systemctl restart docker
开机启动 : systemctl enable docker
docker images: 列出本机镜像
docker images -q
-q:
只显示镜像ID
--no-trunc
:
显
示完整的镜像ID

docker search 镜像名称: 查找镜像 //例如:docker search tomcat
docker search -s 30 tomcat //-s: 列出收藏数不小于指定值的镜像
#
或
docker search --filter=stars=30 tomcat //过滤器

docker pull 镜像名称:镜像版本: 下载镜像 //例如:docker pull tomcat 使用 docker images 查看镜像列表

docker pull redis:3.2 下载指定版本的 redis

docker pull centos:下载 centos 镜像 
docker pull nginx: 下载 nginx 镜像 
docker pull tomcat: 下载 tomcat 镜像 
docker pull java:8 下载 jdk8 镜像


docker rmi tomcat 
docker rmi reids:3.2 #删除指定版本的镜像 
docker rmi 镜像id #根据镜像id删除镜像 
docker rmi -f hello-world#强制删除已经创建了实例的镜像 
docker rmi tomcat redis #删除多个镜像,使用空格间隔不同的镜像名称 
docker rmi -f $(docker images -q) #删除所有镜像

明天我会总结出docker镜像的数据卷,dockerfile文件生成镜像,服务编排,私有仓库搭建的简单实用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值