Docker安装部署及操作

Docker运行环境部署

Docker的版本

Docker从2013年 3月 20 日发布 Docker 0.1,到现在已经发布了多个版本,从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。
Docker CE 即社区免费版,可永久免费使用;
Docker EE 即企业版,功能更全,更强调安全,但需付费使用;
我们介绍 Docker CE 版本,目前Docker版本为19.03.5
Docker官方网站:https://www.docker.com/

Docker的安装和卸载

首先我们知道Docker并不是容器,它是一个管理容器的引擎;
我们采用的Linux版本是CentOS 7。
Docker 支持 CentOS 6 及以后的版本;
CentOS7系统可以直接通过yum进行安装:
安装前可以查看一下系统是否已经安装了Docker:
yum list installed | grep docker
安装yum install docker -y
安装后,使用:docker --version(docker version,docker -v)查看docker是否安装成功,docker --help 查看docker帮助命令;
卸载:

yum remove docker.x86_64 -y                      
yum remove docker-client.x86_64 -y                 
yum remove docker-common.x86_64 -y

Docker服务启动

安装之后启动 Docker 服务;
启动:systemctl start docker 或者 service docker start
停止:systemctl stop docker 或者 service docker stop
重启:systemctl restart docker 或者 service docker restart

启动后一些状态操作命令

检查docker进程的运行状态:systemctl status docker 或者 service docker status
查看docker系统信息: docker info
查看所有的帮助信息: docker --help
查看某个commond命令的帮助信息:docker commond --help

Docker的运行机制

我们知道Docker并不是容器,而只是一个管理容器的引擎;
Docker的底层运行原理:
Docker服务启动–>下载镜像–>启动该镜像得到一个容器–>容器里运行着我们想要的程序;
在这里插入图片描述

第一个Docker容器

根据Docker的运行机制,我们将按照如下步骤运行第一个Docker容器;
1、将Docker服务启动;
2、下载一个镜像,Docker 运行一个容器前需要本地存在有对应的镜像,如果镜像不存在本地,Docker 会从镜像仓库下载(默认是 Docker Hub公共注册服务器中的仓库 https://hub.docker.com)。

CentOS下怎么下载(pull)镜像?

从docker hub官网搜索要使用的镜像,也可以在命令行使用命令搜索要使用的镜像,
比如 docker search tomcat进行搜索,然后下载所需要的镜像:
下载镜像: docker pull docker.io/tomcat
运行镜像: docker run docker.io/tomcat 前台运行, 要后台运行,加参数 -d
显示本地已有的镜像: docker images
在这里插入图片描述在列出信息中,可以看到几个字段信息
REPOSITORY:来自于哪个仓库,比如 docker.io/tomcat
TAG:镜像的标记,比如 latest最新的
IMAGE ID:镜像的 ID 号(唯一)
CREATED:创建时间
SIZE:镜像大小
3、启动下载下来的镜像得到一个容器:
docker run -d docker.io/tomcat -d 或者 docker run -d 41a54fe1f79d (镜像ID)
通过 ps -ef | grep tomcat 查看,检查tomcat镜像是否启动容器成功;

进入Docker容器

docker ps 查看运行了哪些容器
docker stop cef0d139bfd6(容器ID) –停止某个容器
进入容器:docker exec -it cef0d139bfd6(容器ID) bash
i 表示交互式的,也就是保持标准输入流打开;
t 表示虚拟控制台,分配到一个虚拟控制台;
退出容器:exit

客户机访问容器

从客户机上访问容器,需要有端口映射,docker容器默认采用桥接模式与宿主机通信,需要将宿主机的ip端口映射到容器的ip端口上;
停止容器: docker stop 容器ID/名称
启动容器docker run -d -p 8080:8080 docker.io/tomcat 或者 41a54fe1f79d

Docker核心组件

Docker 架构

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。在这里插入图片描述
Docker 容器通过 Docker 镜像来创建;
镜像与容器的关系类似于面向对象编程中的类与对象的关系

Docker面向对象
镜像
容器对象

Docker 核心要素

Docker 包括三个核心要素
镜像(Image)、容器(Container)、仓库(Repository)
实际上Docker不是容器,而是管理容器的引擎;(守护进程)

镜像

镜像的基本概念
Docker镜像就是一个只读的模板,可以用来创建Docker容器;
例如:一个镜像可以包含一个完整的 centos 操作系统环境,里面仅安装了 mysql 或用户需要的其它应用程序;
Docker提供了一个非常简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用;

镜像的组成结构

镜像是由许多层的文件系统叠加构成的,最下面是一个引导文件系统bootfs,第二层是一个root文件系统rootfs,root文件系统通常是某种操作系统的运行环境,比如centos、Ubuntu,在root文件系统之上又有很多层文件系统,这些文件系统叠加在一起,构成docker中的镜像;
在这里插入图片描述

镜像的日常操作

1、下载镜像,比如下载redis镜像:docker pull redis:latest
reids是查询到的镜像名称,latest是镜像的标签tag
获取一个镜像有两种方式,一种是从官方镜像仓库下载,一种是自己通过Dockerfile文件构建;
如果有官方镜像,我们就不必自己用Dockerfile文件构建了,除非官方没有才会自己去Dockerfile文件构建;
2、列出已经下载的镜像docker images,或者 docker images redis
3、运行镜像: docker run -d redis 其中-d表示在后台运行
然后通过ps -ef | grep redis可以查到redis进程
4、查看容器镜像的状态:docker ps
5、进入容器: docker exec -it a8584016f9b6(容器ID) bash 进入redis容器
6、删除镜像: docker rmi redis:latest 注意是rmi,不是rm,rm是删除容器;

容器

容器的基本概念

容器是从镜像创建的运行实例,它可以被启动、停止、删除,每个容器都是相互隔离的、保证安全平台,可以把看做一个简易版的 Linux环境,包括root用户权限、进程空间、用户空间和网络空间和运行在其中的应用程序;
Docker利用容器来运行应用,镜像是只读的,容器在启动的时候创建一层可写层作为最上层;

容器的日常操作

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将处于终止状态的容器重新启动命令: docker start 容器id或容器名称
通过镜像启动容器:docker run -d redis
查看运行中的容器:docker ps
查看所有的容器:docker ps -a
停止容器:docker stop 容器id或容器名称
已经停止的容器,我们可以使用命令 docker start 来重新启动;
因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器;
删除容器:docker rm 容器id或容器名称
删除容器时,容器必须是停止状态,否则会报错;
进入容器: docker exec -it 容器id或容器名称 bash
还可以使用 docker inspect + 容器id或容器名称 查看容器的更多信息(元信息);
停用全部运行中的容器: docker stop $(docker ps -q)
删除全部容器: docker rm $(docker ps -aq)
一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm -f $(docker ps -aq)

仓库

仓库的基本概念

仓库是集中存放镜像文件的场所,有时候会把仓库和仓库注册服务器(Registry)看做同一事物,并不严格区分,实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag);
仓库分为公开仓库(Public)和私有仓库(Private)两种形式;
最大的公开仓库是 Docker Hub (https://hub.docker.com/),存放了数量庞大的镜像供用户下载;
当然,用户也可以在本地网络内创建一个私有仓库;
当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来即可;
Docker 仓库的概念跟 Git 类似,注册服务器也类似于 GitHub 这样的托管服务;

仓库的日常操作

用户可通过 docker search 命令来查找官方仓库中的镜像:
docker search rabbitmq
可以看到返回了很多包含关键字的镜像,其中包括镜像名字、描述、星级(表示该镜像的受欢迎程度)、是否官方创建、是否自动创建;
官方的镜像说明是官方项目组创建和维护的,automated 资源允许用户验证镜像的来源和内容;
根据是否是官方提供,可将镜像资源分为两类;
一种是类似 centos 这样的基础镜像,被称为基础或根镜像。这些基础镜像是由 Docker 公司创建、验证、支持、提供。这样的镜像往往使用单个单词作为名字;
还有一种类型,比如 tianon/centos 镜像,它是由 Docker 的用户创建并维护的,往往带有用户名称前缀,可以通过前缀 user_name/ 来指定使用某个用户提供的镜像,比如 tianon 用户;
并利用 docker pull 命令来将它下载到本地:
docker pull rabbitmq
docker pull centos

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值