当前位置:   article > 正文

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

深入浅出docker

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
  • 1

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

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

手动安装

卸载旧版本

较旧的 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
  • 1

如果提示您接受 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
  • 1

启动 Docker。

$ sudo systemctl start docker
  • 1

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

$ sudo docker run hello-world
  • 1

卸载 docker

删除安装包:

yum remove docker-ce
  • 1

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

rm -rf /var/lib/docker
  • 1

Docker 安装 MySQL

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

1、查看可用的 MySQL 版本

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

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

img

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

img

此外,我们还可以用 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]
...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

2、拉取 MySQL 镜像

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

$ docker pull mysql:latest
  • 1

img

3、查看本地镜像

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

$ docker images
  • 1

img

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

4、运行容器

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

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

参数说明:

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

img

5、安装成功

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

img

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

016/06/docker-mysql4.png)

5、安装成功

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

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

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

img

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/795758
推荐阅读
相关标签
  

闽ICP备14008679号