背景
我们经常在家里学习一些技术,然后该技术依赖其它组件,之前我们不得不老老实实地从零开始搭建该组件。
比如我们学习Spring Session,使用Redis存储会话数据,那么我们就需要从零开始搭建Redis。
Docker可以帮助我们简单地搭建起开发环境,不需要在学习阶段就花比较多的时间在搭建配套软件上,将精力聚焦在学习主体上。
当然,上述所述只是Docker对于开发者学习的一个小小的好处。
事实上,Docker的一次构建到处运行的容器技术,对服务的部署形式上有划时代的改变。
本文撰写于2021年10月,请注意内容的时效性。
下载Docker,并安装
通过搜索引擎搜索Docker,找到Docker官网。
找到下载【Docker Desktop】的页面(目前在Developers栏目下),下载并安装。
安装完成,可以打开Docker Desktop,可以进入主界面。
当然,还可以使用命令行工具,使用docker --version
是否安装完成:
% docker --version
Docker version 20.10.8, build 3967b7d
下载一个centos镜像,然后运行一下?
我计划运行一个原始的centos镜像,到dockerhub找一个centos镜像:
接下来,开始下载镜像:
docker pull centos:centos8.4.2105
下载完毕,看下本地镜像列表是否包含下载的镜像:
% docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos centos8.4.2105 5d0da3dc9764 3 weeks ago 231MB
我们以“交互的形式”运行centos,然后进入/bin/bash:
% docker run -it centos:centos8.4.2105 /bin/bash
[root@a24ac625f98e /]# pwd
/
[root@a24ac625f98e /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
再来下载MySQL镜像运行一下?
在dockerhub找到mysql:5.7镜像,然后下载:
docker pull mysql:5.7
使用主机的13306
端口(注意不是3306
哦)、以后台
的形式运行MySQL 5.7:
docker run -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
-p,指定端口映射,格式:主机端口:容器端口;
-e,设置环境变量;
-d,后台运行容器,并返回容器ID;
然后,你就可以在你主机上的MySQL客户端
连接容器里的MySQL实例
,如无意外,可以连接成功: