Docker+Linux_Centos(内核:3.10.0-957.1.3.el7.x86_64)安装

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/esqabc/article/details/89881374

前言声明:
如果您有更好的技术与作者分享,或者商业合作:
请访问作者个人网站 http://www.esqabc.com/view/message.html 留言给作者。

如果该案例触犯您的专利,请在这里:http://www.esqabc.com/view/message.html
留言给作者说明原由,作者一经查实,马上删除。

手机留言请访问:http://www.esqabc.com

Docker的应用场景:

  1. Web 应用的自动化打包和发布。

  2. 自动化测试和持续集成、发布。

  3. 在服务型环境中部署和调整数据库或其他的后台应用

  4. 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境

Docker 的优点:

  1. 简化程序
  2. 避免选择恐惧症
  3. 节省开支

Docker的组成, 包括三个基本概念:

  1. 仓库(Repository)
  2. 镜像(Image)
  3. 容器(Container)

具体详情请访问:https://www.runoob.com/docker/docker-tutorial.html

或者查看官方文档:https://docs.docker.com/install/linux/docker-ce/centos/

Docker 的核心组件包括:

Docker Client
Docker Daemon
Docker Image
Docker Registry
Docker Container
Docker 采用的是 Client/Server 架构。客户端向服务器发送请求,服务器负责构建、运行和分发容器\

Docker Client

Docker Client ,也称 Docker 客户端。它其实就是 Docker 提供命令行界面(CLI)工具,是许多 Docker 用户与 Docker 进行交>>互.的主要方式。

客户端可以构建,运行和停止应用程序,还可以远程与 Docker_Host 进行交互。

最常用的 Docker 客户端就是 Docker 命令,我们可以通过 Docker 命令很方便地在 Host 上构建和运行 Docker 容器。

Docker Daemon

Docker Daemon 是服务器组件,以 Linux 后台服务的方式运行,是 Docker 最核心的后台进程,我们也把它称为守护进程。

它负责响应来自 Docker Client 的请求,然后将这些请求翻译成系统调用完成容器管理操作。

该进程会在后台启动一个 API Server ,负责接收由 Docker Client 发送的请求,接收到的请求将通过 Docker Daemon 内部的>>一个路由分发调度,由具体的函数来执行请求
我们大致可以将其分为以下三部分:

Docker Server
Engine
Job
Docker Daemon 运行在 Docker Host 上,负责创建、运行、监控容器,构建、存储镜像
启动 Docker Daemon 时,一般可以使用以下命令来完成:

docker --daemon = truedocker –d
docker –d = true

Docker Image

Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运>行时准备的一些配置参数(如匿名卷、环境变量、用户等)。

镜像不包含任何动态数据,其内容在构建之后也不会被改变。我们可将 Docker 镜像看成只读模板,通过它可以创建 Docker 容>器。

镜像有多种生成方法:

从无到有开始创建镜像
下载并使用别人创建好的现成的镜像
在现有镜像上创建新的镜像

Docker Registry

运行 docker push、docker pull、docker search 时,实际上是通过 Docker Daemon 与 Docker Registry 通信。
Docker Registry 是存储 Docker Image 的仓库,它在 Docker 生态环境中的位置如下图所示:

在这里插入图片描述

Docker Container

Docker 容器就是 Docker 镜像的运行实例,是真正运行项目程序、消耗系统资源、提供服务的地方。

Docker Container 提供了系统硬件环境,我们可以使用 Docker Images 这些制作好的系统盘,再加上我们所编写好的项目代>码,Run 一下就可以提供服务
如:[root@localhost]# docker run fce289e99eb9

说明:

由于 Docker-CE 只支持 64 位版本的 CentOS 7 ,并且要求内核版本不低于 3.10
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),用社区版就可以了

1,root账户登录,查看内核版本如下

[root@localhost ~]# uname -a
*
Linux vultr.guest 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost ~]# uname -r
3.10.0-957.1.3.el7.x86_64

2,把yum包更新到最新

[root@localhost ~]# yum update
*
fastestmirror, langpacks
Loading mirror speeds from cached hostfile
base: centos.ustc.edu.cn
extras: mirrors.aliyun.com
updates: centos.ustc.edu.cn
*********.
注意:如果是生产环境,需要考虑yum 更新后的影响;系统比较新的话,可以不更新yum ,直接进入下一步操作

3,安装需要的软件驱动(yum-utils:提供yum-config-manager功能、device-mapper-persistent-data和lvm2是devicemapper的依赖库)

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
*
fastestmirror, langpacks
Loading mirror speeds from cached hostfile
base: centos.ustc.edu.cn
extras: mirrors.aliyun.com
updates: centos.ustc.edu.cn
********.

4,设置docker下载源

1)官方的:
[root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
.
2)阿里云的:
[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
*
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

5,查看所有仓库中所有docker版本,并选择特定版本安装

[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
*
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
Available Packages

6,安装Docker,
命令:
(1)yum install docker-ce-<VERSION_STRING>
(2)yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
注意:如果使用第一种方式,不指定cli,就会默认最新版本,与指定的Server版本不相同
本人推选第二种安装方式

[root@localhost ~]# yum install docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io
*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
Running transaction check
Package containerd.io.x86_64 0:1.2.6-3.3.el7 will be installed
Processing Dependency: container-selinux >= 2:2.74 for package: containerd.io-1.2.6-3.3.el7.x86_64
Package docker-ce.x86_64 3:18.09.9-3.el7 will be installed
Processing Dependency: libcgroup for package: 3:docker-ce-18.09.9-3.el7.x86_64
Package docker-ce-cli.x86_64 1:18.09.9-3.el7 will be installed
Running transaction check
Package container-selinux.noarch 2:2.107-3.el7 will be installed
Processing Dependency: policycoreutils-python for package: 2:container-selinux-2.107-3.el7.noarch
Package libcgroup.x86_64 0:0.41-21.el7 will be installed
Running transaction check
Package policycoreutils-python.x86_64 0:2.5-33.el7 will be installed
********.

7,启动Docker,命令:systemctl start docker

[root@localhost ~]# systemctl start docker

8,加入开机启动

[root@localhost ~]# systemctl enable docker
*
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to
/usr/lib/systemd/system/docker.service.

9,验证安装是否成功(有client和service两部分表示docker安装启动成功了)

[root@localhost ~]# docker version
*
Client:
Version: 18.09.9
API version: 1.39
Go version: go1.11.13
Git commit: 039a7df9ba
Built: Wed Sep 4 16:51:21 2019
OS/Arch: linux/amd64
Experimental: false
*
Server: Docker Engine - Community
Engine:
Version: 18.09.9
API version: 1.39 (minimum version 1.12)
Go version: go1.11.13
Git commit: 039a7df
Built: Wed Sep 4 16:22:32 2019
OS/Arch: linux/amd64
Experimental: false

10,常用Docker命令

查看当前正在运行的容器:
[root@localhost ~]# docker ps
.
查看所有容器的状态:
[root@localhost ~]# docker ps -a
.
查看当前docker版本:
[root@localhost ~]# docker version
.
启动/停止某个容器 (id或者name):
[root@localhost ~]# docker start/stop id/name
.
进入某个(id)容器(使用exit退出后容器也跟着停止运行):
[root@localhost ~]# docker attach id
.
启动/停止某个容器 (id或者name):
[root@localhost ~]# docker start/stop id/name
.
启动一个伪终端以交互式的方式进入某个(id)容器(使用exit退出后容器不停止运行):
[root@localhost ~]# docker exec -ti id
.
查看本地镜像
[root@localhost ~]# docker images
.
删除某个容器(id/name)
[root@localhost ~]# docker rm id/name
.
删除某个镜像(id/name)
[root@localhost ~]# docker rmi id/name
.
通过当前目录下的Dockerfile创建一个名为soar/centos:7.5的镜像
[root@localhost ~]# docker build -t soar/centos:7.5
.
以镜像soar/centos:7.5创建名为test的容器,并以后台模式运行,
并做端口映射到宿主机2222端口
P参数重启容器宿主机端口会发生改变
[root@localhost ~]# docker run -d -p 2222:22 --name test soar/centos:7.5

更多Docker命令请访问:http://www.docker.org.cn/dockerppt/106.html

Centos安装说明请访问:https://docs.docker.com/install/linux/docker-ce/centos/

猜你喜欢

转载自blog.csdn.net/esqabc/article/details/89881374
今日推荐