1.docker简介

Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,更重要的是容器性能开销极低。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版(CE)就可以了。

2.docker中的一些基本概念

Docker不是一个容器,而是一个管理容器的引擎工具,提供容器运行的环境和服务,并管理本地的镜像,运行的实例等,正如上图的docker图标一样,docker像一个大型油轮,承载着一个个集装箱,每个集装箱我们可以理解为我们的容器,这个容器中的内容完全由组装人员自定义。

容器: 容器好比软件集装箱(容器可以理解为一个镜像的实例,一个镜像可以有多个实例),它内部可以安装任何软件和库文件,做任意的运行环境配置,它可以被启动、开始、停止、删除。每个容器都是 相互隔离的、保证安全性。

镜像:Docker运行容器前需要本地存在对应的镜像,一个镜像可以创建多个容器,例如一个tomcat镜像我们可以创建N个tomcat容器。镜像可以用来创建Docker容器的。

仓库:仓库是存放所有的镜像文件的场所。个人理解就如同maven的中央仓库,Docaker公司提供了官方仓库叫DockerHub,存放了数量庞大的镜像供用户下载,但是由于Docker官方网站是外国网站,拉取镜像的速度非常地慢甚至直接失败,往往我们需要配置一个镜像加速器,比如阿里云的镜像加速器,下文会提及。

3.docker的安装

在说明下面的安装过程中,我会提及一些我遇到的问题,也许你不会遇到,仅供参考,以下安装环境为CentOS7。

1)检查系统内核版本

通过以下命令检查linux系统的内核版本,docker要求操作系统必须是64位,且系统内核版本高于3.10

[root@localhost ~]# uname -r

我这里的系统和内核版本都是符合要求的。

2)确定当前用户是否拥有root权限

如果当前用户不具有root权限,需要在下面的命令前加上sudo,进行提权。

3)检查系统当中是否安装过docker或者系统是否自带docker

如果没有显示出任何结果说明,没有安装过docker

[root@localhost ~]# yum list installed | grep docker

如果安装过docker,那么运行下面的命令进行卸载

[root@localhost ~]# yum remove docker-common.x86_64

4)安装docker

①安装一些必要的系统工具

[root@localhost ~]# yum install -y yum-utils device-mapper-persisten

②添加软件源信息

[root@localhost ~]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

④更新 yum 缓存:

[root@localhost ~]# yum makecache fast

⑤使用yum命令安装docker ce,-y代表全自动,自动确定。

[root@localhost ~]# yum -y install docker-ce

安装完成

5)测试docker是否安装成功

[root@localhost ~]# docker version

可以显示出docker版本即为安装成功。

4.docker的使用

我们通过docker --help命令可以查看docker的所有命令:下面以创建一个mysql5.6的容器来演示docker的基本使用方法。

1)启动docker后台服务

[root@localhost ~]# systemctl start docker

2)拉取镜像(Image)

[root@localhost ~]# docker pull mysql:5.6

我们输入上面的命令去拉取mysql5.6的镜像,却并没有拉取成功。

失败的原因就是我们拉取的仓库在国外的服务器上,在国内拉取镜像速度会非常慢甚至直接失败,所以我们需要配置一个镜像加速器,下面我就以阿里云的镜像加速器为例来进行配置,

首先进入etc/docker目录,并查看文件夹下的文件,如果找不到daemon.json文件就直接创建一个。

[root@localhost ~]# cd /etc/docker

创建daemon.json文件

[root@localhost docker]# touch daemon.json

将下面这段json字符串插入到daemon.json文件中。

{"registry-mirrors": ["https://zc517qo8.mirror.aliyuncs.com"]
}

重新加载配置文件,重启docker

[root@localhost docker]# systemctl daemon-reload
[root@localhost docker]# systemctl restart docker

我们再次拉取mysql5.6镜像就可以拉取成功,并且下载速度也是棒棒的。

列出所有的镜像:

[root@localhost docker]# docker images

可以看到我们刚刚拉取得mysql5.6的镜像。

3)启动并创建一个mysql容器

[root@localhost docker]# sudo docker run --name wzy-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.6

  • –name:给新创建的容器命名,此处命名为wzy-mysql
  • -e:配置信息,此处配置mysqlroot用户的登录密码
  • -p:端口映射,此处映射主机3306端口容器wzy-mysql的3306端口
  • -d:成功启动容器后输出容器的完整ID,例如下图 c8226e9c9272
  • 最后一个mysql指的是mysql镜像名字(如需指定版本要加上:和版本号)

查看docker中的容器信息:

[root@localhost docker]# docker ps

可以看到容器已经被创建并启动。

4)测试mysql连接

使用navicat对mysql进行连接

连接成功!

在这里如果无法连接可以关闭linux的防火墙

[root@localhost docker]# systemctl stop firewalld

并且在iptables里开放3306端口,完结撒花~~~~~~~~~~~~~~~~~~~~~~~~~~

转载于:https://www.cnblogs.com/fengyun2019/p/11009534.html

docker快速入门01——docker安装与简单应用相关推荐

  1. Kubernetes CKA认证运维工程师笔记-Docker快速入门

    Kubernetes CKA认证运维工程师笔记-Docker快速入门 1. Docker 概念与安装 1.1 Docker 是什么 1.2 Docker 基本组成 1.3 版本与支持平台 1.4 Do ...

  2. Docker快速入门,看这个就够了

    Docker快速入门 一.Docker介绍 1.1 Docker背景 1.2 Docker概念 1.3 Docker的优势 1.4 Docker的三个基本概念 二.Docker的安装和使用 2.1 安 ...

  3. Docker快速入门

    Docker快速入门 ​ 学习资料: [狂神说Java]Docker最新超详细版教程通俗易懂_哔哩哔哩_bilibili 文章目录 Docker快速入门 1.Docker概述 1.1 Docker 为 ...

  4. Docker快速入门总结

    目录 Docker快速入门总结 1.Docker概述 2.虚拟化技术和容器化技术 3.Docker的基本组成 4.Docker的安装 5.Docker的卸载 6.配置阿里云镜像加速 7.Docker容 ...

  5. MinIO Docker 快速入门 ​​​​​​​

    MinIO Docker 快速入门 前提条件 您的机器已经安装docker. 从 这里下载相关软件. 在Docker中运行MinIO单点模式. MinIO 需要一个持久卷来存储配置和应用数据.不过, ...

  6. MinIO Docker 快速入门

    MinIO Docker 快速入门 前提条件 您的机器已经安装docker. 从 这里下载相关软件. 在Docker中运行MinIO单点模式. MinIO 需要一个持久卷来存储配置和应用数据.不过, ...

  7. Docker 快速入门(一文上手 Docker)

    通过本篇文章,就可以达到在 Window 或 Linux 上手 Docker(有点长,可以根据目录选择你需要的内容看) 文章图片没有带过来,涉及的图片较多,就不一一挪了,大家可以直接看我 GitCha ...

  8. Docker快速入门总结笔记

    文章目录 1. Docker概述 2. 虚拟化技术和容器化技术 3. Docker的基本组成 4. Docker的安装 5. Docker的卸载 6. 配置阿里云镜像加速 8. Docker容器运行流 ...

  9. Docker快速入门实践-纯干货文章

    Docker快速入门实践-老男孩高级架构师课程内容,如果细看还能发现讲解视频呦!小伙伴们赶紧猛戳吧! 老男孩高级架构师内部学员实践文档分享! Docker快速入门实践-纯干货文章 老男孩教育2016启 ...

最新文章

  1. MySQL索引 专题
  2. 第三届Apache Flink 极客挑战赛暨AAIG CUP攻略发布!
  3. java 分页 不 排序_java - 我应该如何将未分页但已排序的Pageable传递给Spring JPA存储库? - 堆栈内存溢出...
  4. 如何在JS中改变Extjs combox 的值
  5. css里slidebottom,jquery - 从CSS“top”到“bottom”的jQuery动画 - 堆栈内存溢出
  6. 递推(hdu2563)
  7. 【经验分享】linux交叉编译 - openssl动态库
  8. csuoj 1355: 地雷清除计划
  9. Factorization Mechanism
  10. 4k纸是几厘米乘几厘米_4K纸是多少尺寸
  11. 暴力解决个localhost跨域问题
  12. Sql server2008的使用
  13. 质量运营在美团点评智能支付业务测试中的初步实践
  14. IT新渠道眼中的高价值增长如何实现?
  15. 优盘启动盘恢复为普通优盘
  16. 关于ACM比赛的感悟
  17. 压力测试、负载测试、渗透测试、容量测试、敏感度测试
  18. CSS基础(7)- 盒模型
  19. Nmap入门:隐私刺探
  20. NLP学习(十三)-NLP实战之LSTM三分类文本情感分析-tensorflow2+Python3

热门文章

  1. 监听列表事件的监控核心技术(编写代码)
  2. 从“学徒”(Apprentice III)看领导力(9-17集)
  3. MySQL性能的五大配置参数(内存参数)
  4. android ConcurrentHashMap的使用
  5. css float(脱离正常流:向左/右浮动直到父元素/另一float, 不占空间)
  6. SDNU 1178.能量项链(区间dp)
  7. docker常用命令,安装常用实例,一步式安装mysql
  8. Kafka 1.0版本发布
  9. 测试的艺术:测试用例的设计
  10. UVa11882,Biggest Number