Docker 傻瓜入门
初学者在 Linux 安装软件服务时,一般的流程是这样的:
- 在 google/baidu 搜索,xxx 安装教程
- 根据教程下载软件包 xxx.tar.gz ,解开出一堆文件也不知道这些都是干啥的
- 接着按教程修改一些文件配置
- 最后可能是 make / make install
- 运气好的话,做完以上步骤就 ok 了,然而这样的好运气往往不常有,经常出现莫名的问题导致无法成功安装
这时就需要使用新时代的解决方案 docker
接下来我们以 mysql
为例,看看如何使用 docker 来方便的安装并启动 mysql 服务
安装 docker
Linux
系统内一条命令一键安装
curl -fsSL https://get.docker.com | sh
如果发现 https://get.docker.com 这地址打不开的话,可以改用 Daocloud 提供的国内地址试试
curl -sSL https://get.daocloud.io/docker | sh
如果需要在你的 Windows
/ Mac
个人电脑上安装 docker,可以参考 Daocloud 提供的各平台的安装包,直接下载安装即可
http://get.daocloud.io/#install-docker-for-mac-windows
下载软件
比如我们这里是系统利用 docker 来运行 mysql 服务,那就先将 mysql 下载到本地,一条命令搞定
docker pull mysql:5.7
等待一段时间,下载完成后即可,下载得到被称为 镜像
可以通过命令查看目前主机上有哪些已下载的镜像
docker images
如果要下载其他软件,将以上命令中的 mysql
替换为对应的镜像名称即可
例如:docker pull redis
,docker pull postgres
等
那怎么才能知道自己想使用的软件是否可以通过 docker pull
下载到呢?
打开 https://hub.docker.com 在页面上直接搜索你要的软件名称,能搜到的就能下载
运行软件
一条命令就可以启动 mysql 了
docker run -e MYSQL_ROOT_PASSWORD=mypasswd -p 3306:3306 -d mysql
这条命令运行后会生成一个 容器
可以通过命令查看目前主机上有哪些容器
docker ps -a
然后我们使用以下参数连接 mysql 服务器
host: 127.0.0.1
port: 3306
username: root
password: mypasswd
如果能正常连接上,说明我们的 mysql 服务已经在 docker 上成功运行起来的
接下来我们挨个解说下上面那条 docker run
命令的参数
-e MYSQL_ROOT_PASSWORD=mypasswd
: 设置默认的 root 用户密码为 mypasswd
-p 3306:3306
: 打通容器与主机之间的网络端口,即访问 127.0.0.1
的 3306 端口就等同于访问容器内的 3306 端口了(:
前是主机端口,之后的是容器端口)
-d
: deamon
的缩写,mysql 服务会在后台以守护进程的形式一直运行
总结一下
只要简单的三句命令轻松搞定
curl -fsSL https://get.docker.com | sh
docker pull mysql
docker run -e MYSQL_ROOT_PASSWORD=mypasswd -p 3306:3306 -d mysql
备注:
本文是适用于初学者的极简教程,旨在于帮助从没接触过 docker 的朋友快速入门和理解。
为了方便理解,其中部分概念没有以最准确的方式表达,而是以通俗 “傻瓜” 的方式,如:
-
下载软件
,准确的说法应该是拉取包含了所需软件的系统镜像到本地
。 -
docker pull
的时候可以带上镜像的 tag 来指定版本,这些就没细说了。 -
打通端口
应该叫作端口映射
。