centOS安装docker

vagrant+virtualbox安装centos服务器

前言

对于开发完毕的项目,需要将项目部署在Linux的服务器上,可以选择购买云服务器进行部署或者本地的机器使用内网穿透对外界提供服务;不论是哪种方式部署项目,都需要服务器上有项目运行的环境,比如jdk环境、redis服务、MySQL服务、rabbitmq等消息服务;如果项目运行在很多的服务器上,每台服务器都去设置环境是一个不小的工作量;如果后期涉及到服务集群的伸缩,更是不小工作量;单独使用docker的情况下可以简化环境的配置,项目的发布;后期结合k8s做服务集群的管理更加方便。

一、docker是什么?

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

docker是容器化技术,docker运行在操作系统之上,需要这个操作系统安装Docker Engine(它可以帮助屏蔽每种操作系统之间的差异,让关于docker的操作位于不同操作系统都一样),然后在这个操作系统中,就可以使用docker了;可以通过不同的image运行出不同的container并且运行的每一个container是相互独立的,好比是一个浓缩的centos系统,可以根据这个image所运行出来的container的需要定义安装相关的环境,比如tomcat的image功能是创建一个tomcat容器,而运行tomcat需要jdk环境,所以tomcat的image默认装有jdk环境;docker相比于虚拟化技术的好处在于,虚拟化技术是在操作系统之上安装多个虚拟机,而每一个虚拟机需要的物理资源在最开始创建的时候即分配了,如果某个虚拟机中运行的项目所占用的物理资源较低,会导致资源的浪费;而docker容器化技术运行在操作系统之上,多个container共享物理主机的资源,可以合理利用服务器的资源。
docker中的两个关键词:
image:镜像,好比java中的.class文件,它决定了创建的对象的内容,image决定了创建的container的内容;在java中可以通过将一个类多次new创建这个类的多个对象;docker中也可以将一个image运行多次,创建多个container。
container:容器,好比java中的对象,它是通过对应的.class文件生成的,container也是通过image生成的。

二、安装docker

官方安装文档
官方文档中有一些是可选的安装,下面只介绍必安装的内容

1.清除原有的版本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

在这里插入图片描述

2.安装yum-utils

yum install -y yum-utils

在这里插入图片描述

3.设置docker拉取image的镜像仓库

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

在这里插入图片描述

4.安装Docker Engine

yum install docker-ce docker-ce-cli containerd.io
或
yum install -y docker-ce-版本号 docker-ce-cli-版本号 containerd.io  #设置安装版本号
如:yum install -y docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io

在这里插入图片描述

5.启动docker、查看docker版本信息、加入开机自启

启动docker

systemctl start docker

查看docker版本信息

docker version

加入开机自启

systemctl enable docker

在这里插入图片描述

6.测试docker

拉取hello-world镜像

docker pull hello-world

查看本地镜像

docker images

在这里插入图片描述
启动hello-world镜像

docker run --name hello-world-test hello-world

其中 --name 是指定本次启动的镜像生成的container的名称,docker run的命令是如果启动的image本地存在则用本地的,如果不存在则从远程仓库中先拉取镜像再运行。

查看docker运行的容器

docker ps -a

-a 是查看所有运行的容器包含正在运行和已经运行过的即当前是关闭状态的容器
在这里插入图片描述

7.设置docker拉取image的镜像仓库为阿里云镜像仓库

作用是提升拉取image镜像的速度
查看自己阿里云镜像仓库地址
在这里插入图片描述
在这里插入图片描述

8.获取可拉取的image

第一种方式:

docker search xxx

将其中的 xxx 换成要拉取的image的名称,比如我们要拉取redis的image,那么redis有哪些image可供拉取呢
在这里插入图片描述
我们看到有名称就叫redis的,那么就可以直接docker pull redis

第二种方式-直接在docker拉取镜像的仓库的官网中搜索:
docker拉取镜像的仓库官网
在这里插入图片描述
在这里插入图片描述
注意:以上两种方式查看的都是docker可拉取的image镜像的名称,也就是直接 docker pull image名称 的话拉取的就是这个名称的image的latest即最新版本,如果想要拉取某个名称的image的某个版本的话需要 docker pull image名称:tag
以redis为例,在docker远程仓库官网中查看名称为redis的image的可拉取的版本:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值