前言
随着软件行业的发展,我们发现软件开发最麻烦的一件事儿就是环境的搭建。环境的不同,可能就会导致软件运行不起来,正如我们常说的,在我电脑上运行是好的,怎么换了一台电脑就不行了。为了解决环境的问题,于是就出现Docker。
什么是Docker
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
Docker将应用程序于该程序的以来,打包在一个文件里面。运行这个文件,就会生产一个虚拟容器。程序在这个虚拟容器里运行,就好像在真是的物理机器上运行一样。
Docker的用途
Docke主要有以下三大用途
- 提供一次性的环境。如:本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
- 提供弹性的云服务。因为Docker容器可以随开随关,很适合动态扩容和缩容。
组件微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。
Docker的安装
由于我使用的是MacOS,故我只讲解MacOS的安装方法(若是使用其他系统的小伙伴,请参考Docker官方文档)。
打开Docker Desktop for Mac下载页面,点击 “Get Stable”按钮,下载完后,安装即可。

在Mac应用程序中,找到Docker并打卡,然后你就会在顶部状态栏中找到Docker的运行图标。

- 当你点击这个图标,菜单栏显示Docker Desktop is running就说明Docker启动成功,然后你就可以在终端中使用docker相关命令了。

- 使用终端来验证Docker是否安装成功
docker info# 或docker version
image文件
Docker把应用程序及其依赖,打包进image文件,只有通过这个文件,才能生产Docker容器。image文件可以看作是容器的模板。Docker根据image文件生成容器的示例。同一个image文件,可以生成多个同时运行的容器示例。
相关命令# 列出本机所有的image文件docker image ls# 删除image文件docker image rm [imageName]
更改镜像的源
由于Docker默认访问的是官方的源,所以访问速度会非常的慢,所以我们就可以把官方的源修改为国内的源。 ```bash vim ~/.docker/daemon.json
在这个文件添加以下内容,即切换到清华源
{ “registry-mirrors”:[“https://docker.mirrors.ustc.edu.cn“] }
然后重启docker即可<br /><a name="CtKBB"></a># 示例:hello-world接下来,通过运行官方的hello-world示例来体验以下Docker。1. 打开Terminal,使用docker run命令拉取hello-world镜像。```bashdocker run hello-world

启动docker中的web服务
docker run --detach --publish=80:80 --name=webserver nginx
在浏览器中输入localhost就可以出现以下页面,说明web服务启动成功
容器文件
image文件生成的容器示例,本身也是一个文件,成为容器文件,也就是说,一旦容器生成,就会同时存在两个文件:image文件和container文件。而且关闭容器并不会删除容器文件,知识容器停止运行而已。
# 列出本机正在运行的容器docker container ls# 列出本机所有容器,包括终止运行的容器docker container ls --all# 终止某一容器运行docker container kill [containerId]# 终止并删除容器docker container rm [containerId]# 进入某一容器的shell命令docker container exec -it [containerId] /bin/bash# 新建容器docker container start [containerId]# 停止容器docker container stop [containerId]# 查看容器日志docker container logs [containerId]# 拷贝文件到本机当前目录docker container cp [containerId]:[/path/to/file] .
