Docker的深入浅出(入门新手篇)

(持续更新中。。。。。。)

什么是Docker?

这个问题百度的话会有很多标准答案,但是晦涩难懂,鄙人从小语文不好所以在以下内容鄙人会用个人粗俗的语音加通俗的理解来向入门的小伙伴介绍Docker到底是个什么东西?

要解决Docker是什么这个问题就要引出另外一个问题,就是计算机系统的分类问题,我给大家讲一个故事,我是一个java新手程序员,我现在需要储存一些数据(不要问我java中数据是什么),必然最好的办法就是将数据存储在数据库中(不要问我数据库是什么),而数据库的运行环境可以是windows系统,也可以是Linux系统,那么问题来了,怎么选择呢?简单来说,windows用户基数大,安全性差,什么人都在用,你能保证用windows的黑客不会做坏坏的事情么?当然做坏坏的事情是人为的,关系统什么事,但是使用系统的人多就会大大增加坏人存在的概率,加上系统自身安全问题对数据的保护不够,数据就会很容出问题,丢失被盗MMP哟,而Linux系统的安全性就要高于windows,所以必然小白的我选择了Linux安装数据库,那么问题又来了,Linux安装软件是什么体验?我们正常用windows安装软件的是点击安装,然后呆萌的看一看进度条,啪啪啪的点几下安装选项,瞄两眼旁边的小电影,叮的一声就安好了,但是Linux呢?当我们要安装mysql在Linux上时,首先要凑齐mysql在Linux上的安装环境(不要问我什么是安装环境),这就是一个唐僧取经的过程了,因为这过程中可能其中一个环境要素还需要其他的环境因素,就像你想看小电影,首先要有播放它的硬件,比如电视电脑什么的,而电视电脑要运行就要有电,而有电就要有发电厂,而这些底层运行环境你都要一一凑齐,开心不?凑齐这些容易么?所以这个时候就有个神人跳了出来为大家解决这个问题,发明了一个牛皮的小东西,这个牛皮的小东西装在Linux上就帮你搞定安装环境的事情了,你只要搞定这个小东西就可以在Linux系统上为所欲为的安装,当然这个小东西的发展历史还是很漫长的,而Docker就是这个小东西长成到现在的样子,取经的过程Docker去帮你弄,而你可以直接去用经,是不是很爽?当然听起来没多爽,如果真的让你自己去试试在Linux直接安装软件,用我们老师的话就是飞鸡儿难!那么Docker又是怎么做到的呢?

简单了解Docker工作原理

其实Docker就是一个帮你在Linux上安装软件的又一个软件(不要问怎么在Linux上安装Docker),Docker的Logo图标也疯狂的明示了它的功能,一个软件搬运工,还飞鸡儿能搬,搬的还快,牛皮的不得了,现在简单概要的介绍一下Docker的工作过程,首先Docker被孤寂帅气的打开,然后Docker会在网络上拉取软件的运行环境生成软件的镜像(就是得到运行软件的先决条件集合的过程),这个镜像是个非常关键的东西,它就像虚拟出来一台小电脑,一台已经安装好mysql的小电脑,并且可以运行mysql,但是我们的电脑此时和这个小电脑根本没有联系,它就算在那开小差看岛国小姐姐跳舞我们都不知道,于是Docker就产生了容器这个东西!t它可以将mysql的端口映射给Linux,从而实现我们在Linux系统下操作运行Docker中的mysql。以下以CentOS Docker安装举例。

CentOS Docker 安装

Docker 支持以下的 64 位 CentOS 版本:

  • CentOS 7
  • CentOS 8
  • 更高版本…

使用官方安装脚本自动安装

安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun

也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

手动安装

卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

$ sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine

安装 Docker Engine-Community

使用 Docker 仓库进行安装

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

设置仓库

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

$ sudo yum install -y yum-utils
device-mapper-persistent-data
lvm2

使用以下命令来设置稳定的仓库。

使用官方源地址(比较慢)

$ sudo yum-config-manager
–add-repo
https:**//download.docker.com/linux/centos/**docker-ce.repo

可以选择国内的一些源地址:

阿里云

$ sudo yum-config-manager
–add-repo
http:**//mirrors.aliyun.com/docker-ce/linux/centos/**docker-ce.repo

清华大学源

$ sudo yum-config-manager
–add-repo
https:**//mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/**docker-ce.repo

安装 Docker Engine-Community

安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

$ sudo yum install docker-ce docker-ce-cli containerd.io

如果提示您接受 GPG 密钥,请选是。

有多个 Docker 仓库吗?

如果启用了多个 Docker 仓库,则在未在 yum install 或 yum update 命令中指定版本的情况下,进行的安装或更新将始终安装最高版本,这可能不适合您的稳定性需求。

Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。

要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:

1、列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。

$ yum list docker-ce --showduplicates | sort -r

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.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable

2、通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。

$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

启动 Docker。

$ sudo systemctl start docker

通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。

$ sudo docker run hello-world

卸载 docker

删除安装包:

yum remove docker-ce

删除镜像、容器、配置文件等内容:

rm -rf /var/lib/docker

Docker 安装 MySQL

MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能,MySQL 已成为 Web 应用程序的数据库优先选择。

1、查看可用的 MySQL 版本

访问 MySQL 镜像库地址:https://hub.docker.com/_/mysql?tab=tags 。

可以通过 Sort by 查看其他版本的 MySQL,默认是最新版本 mysql:latest

你也可以在下拉列表中找到其他你想要的版本:

此外,我们还可以用 docker search mysql 命令来查看可用版本:

$ docker search mysql
NAME                     DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                    MySQL is a widely used, open-source relati...   2529      [OK]
mysql/mysql-server       Optimized MySQL Server Docker images. Crea...   161                  [OK]
centurylink/mysql        Image containing mysql. Optimized to be li...   45                   [OK]
sameersbn/mysql                                                          36                   [OK]
google/mysql             MySQL server for Google Compute Engine          16                   [OK]
appcontainers/mysql      Centos/Debian Based Customizable MySQL Con...   8                    [OK]
marvambass/mysql         MySQL Server based on Ubuntu 14.04              6                    [OK]
drupaldocker/mysql       MySQL for Drupal                                2                    [OK]
azukiapp/mysql           Docker image to run MySQL by Azuki - http:...   2                    [OK]
...

2、拉取 MySQL 镜像

这里我们拉取官方的最新版本的镜像:

$ docker pull mysql:latest

3、查看本地镜像

使用以下命令来查看是否已安装了 mysql:

$ docker images

在上图中可以看到我们已经安装了最新版本(latest)的 mysql 镜像。

4、运行容器

安装完成后,我们可以使用以下命令来运行 mysql 容器:

$ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

参数说明:

  • -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
  • MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。

5、安装成功

通过 docker ps 命令查看是否安装成功:

本机可以通过 root 和密码 123456 访问 MySQL 服务。

016/06/docker-mysql4.png)

5、安装成功

通过 docker ps 命令查看是否安装成功:

[外链图片转存中…(img-hPmN1dSU-1626865955185)]

本机可以通过 root 和密码 123456 访问 MySQL 服务。

Docker的深入浅出(入门新手篇)相关推荐

  1. Hadoop新手篇:hadoop入门基础教程

    Hadoop新手篇:hadoop入门基础教程 关于hadoop的分享此前一直都是零零散散的想到什么就写什么,整体写的比较乱吧.最近可能还算好的吧,毕竟花了两周的时间详细的写完的了hadoop从规划到环 ...

  2. Hadoop新手篇:hadoop入门基础教程 1

    Hadoop新手篇:hadoop入门基础教程 关于hadoop的分享此前一直都是零零散散的想到什么就写什么,整体写的比较乱吧.最近可能还算好的吧,毕竟花了两周的时间详细的写完的了hadoop从规划到环 ...

  3. ps基础教程新手入门第一篇:ps界面的介绍

    欢迎来到慕恬瑶平面设计,今天给大家介绍PS基础教程新手入门第一篇: ps界面的介绍.目的让第一次接触ps的小伙伴通过ps基础教程新手入门来了解ps界面的菜单栏,工具栏已方便日后使用. 首先,打开PS ...

  4. 告诉老默我想学Spring Cloud了(新手篇):从0到1搭建Spring Cloud项目(实际项目开发的浓缩精华版)

    告诉老默我想学Spring Cloud了(新手篇):从0到1搭建Spring Cloud项目 一.前言 二.如何选择版本 2.1 SpringCloud 和 Spring Boot 版本选型 2.1. ...

  5. Docker极简入门

    原 Docker极简入门 2018年05月22日 20:25:12 阅读数:44 一.Docker概述 Docker通过一个包括应用程序运行时所需的一切的可执行镜像启动容器,包括配置有代码.运行时.库 ...

  6. .Net Core in Docker极简入门(下篇)

    点击上方蓝字"小黑在哪里"关注我吧 Docker-Compose 代码修改 yml file up & down 镜像仓库 前言 上一篇[.Net Core in Dock ...

  7. Docker/Podman使用入门---从容器构建镜像 提交镜像到服务器UCloud dockerhub

    文章目录 1.docker commit 提交镜像命令 2.将镜像提交到UCloud服务器 step1: 先在UCloud服务器上面,创建镜像仓库 step2: 登录UCloud镜像仓库 step3: ...

  8. nas安装emby_威联通QNAP系统入门进阶 篇二:宅家新姿势—威联通NAS安装套件版Emby搭建家庭影音服务器...

    威联通QNAP系统入门&进阶 篇二:宅家新姿势-威联通NAS安装套件版Emby搭建家庭影音服务器 2020-02-04 19:38:54 123点赞 1466收藏 123评论 你是AMD Ye ...

  9. Jacoco入门实战篇

    Jacoco入门实战篇 是什么 能做什么 怎么做 深入浅出 是什么 简介 Jacoco是一款代码覆盖率的检测工具 相关概念 使用方式 ant maven java agent 使用模式 on-the- ...

最新文章

  1. Flink1.7.2 sql 批处理示例
  2. 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )
  3. springboot整合postgre和hbase实现互相交互功能
  4. java第四次上机作业_第十java上机作业
  5. 招聘PHP聚合系统,Thinkphp5开发OA办公系统之招聘申请
  6. Vim开发RubyOnRails 环境打造
  7. 安装Pytorch-gpu版本(第一次安装 或 已经安装Pytorch-cpu版本后)
  8. pdf文件如何生成目录 wps_WPS文档如何生成目录你会了吗?
  9. 考研数学复习笔记——行列式1
  10. 【Practical】ZFC七公理
  11. Ubuntu 12.04 首个测试版发布
  12. 下载webStorm,nodejs,git并简单配置,为JavaScript做准备
  13. Tetris(初学Java第六篇)
  14. 任务三、学生喂养三种宠物:猫、狗和鸟
  15. Java 导出富文本到Word(包含图片)
  16. 记一次Redis出问题及解决方案
  17. P1217 回文质数
  18. Unity API——1
  19. 图片文字的居垂直居中对齐属性:vertical-align:middle
  20. 数据结构 期末复习主观题练习题(答案版)

热门文章

  1. 智能手机屏幕失灵了,怎么办?
  2. mybatis plus 查询排序_MyBatis-Plus | 最简单的查询操作教程(Lambda)
  3. sql和mysql的区别
  4. 便携式洁面仪商城质检报告检验标准是什么
  5. java横向导出excel_利用Java进行Excel的数据导入导出
  6. java后端开发(九):mybatis的威力加强版之mybatis-plus
  7. 小程序 picker下拉菜单实现
  8. CSP 201609-3 炉石传说
  9. Mybatis源码学习笔记之Mybatis二级缓存
  10. 2021-11-15 cv2.erode()和cv2.dilate()的原理理解