Mac下Docker的安装与使用

安装Docker

安装包下载地址:https://download.docker.com/mac/stable/Docker.dmg ,和安装Mac普通应用一样,下载 dmg 安装包,运行安装包,把应用移动到应用程序目录即可。

官方文档:https://docs.docker.com/docker-for-mac/

本文使用的版本:

Mac下Docker的安装与使用

Docker加速器

因为 Docker 镜像仓库是在国外的,国内访问速度慢。在安装镜像之前,推荐使用国内 Docker 加速器。

右键屏幕右上角 Docker 图标,选择 Preferences - Daemon ,在 Registry mirrors 里添加:http://docker.mirrors.ustc.edu.cn/ 。然后点击 Apply & Restart 按钮,等待 Docker 重新启动即可生效。

Mac下Docker的安装与使用

常用命令

帮助列表

可以列出 Docker 所有命令

镜像常用命令

查看镜像

我这里是新安装的 Docker ,所以还没有任何镜像。

Mac下Docker的安装与使用

REPOSITORY:镜像名称

TAG:镜像标签,一般是版本

IMAGE ID:镜像ID

CREATED:镜像的创建日期

SIZE:镜像大小

搜索镜像

Mac下Docker的安装与使用

NAME:仓库名称

DESCRIPTION:镜像描述

STARS:用户评价,反应一个镜像的受欢迎程度

OFFICIAL:是否是官方镜像

AUTOMATED:自动构建,表示该镜像由 Docker Hub 自动构建流程创建的

拉取镜像

如果不指定 TAG ,则使用默认 TAG ,这里我安装一个 nginx 。

Mac下Docker的安装与使用

再使用查看镜像命令,则能看到列表中有我们刚安装的 nginx 镜像。

Mac下Docker的安装与使用

删除镜像

按镜像 ID 删除镜像

Mac下Docker的安装与使用

删除所有镜像

容器常用命令

查看容器

查看所有容器

查看正在运行的容器

查看最后一次运行的容器

查看停止的容器

目前还没有运行任何容器

Mac下Docker的安装与使用

创建启动容器

创建容器

参数:

-i:表示运行容器

-t:表示容器启动后会进入其命令行。加上-it这两个参数,容器创建就能登录进去,即分配一个伪终端。

--name:为创建的容器命名。

-v:表示目录映射关系(前者是宿主机目录,后者是容器内映射到宿主机上的目录。映射后操作宿主机的目录,就相当于操作容器的目录。宿主机就是安装 Docker 的机器),可以使用多个 -v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

-d:在 run 后面加上 -d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录,如果只加 -i -t 两个参数,创建后就会自动进去容器)。

-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射

比如创建一个端口为 80 的 nginx 容器:

Mac下Docker的安装与使用

打开浏览器,访问成功则说明 nginx 容器创建并运行成功

Mac下Docker的安装与使用

停止与启动容器

停止运行容器

Mac下Docker的安装与使用

停止 web 容器后,使用 docker ps 查看运行中的容器,是没有 web 容器的,表示停止成功。

使用 docker ps -a 查看所有容器,可以看到 web 容器的信息,包括停止时间。

启动容器

Mac下Docker的安装与使用

删除容器

删除容器之前需要先停止容器。

Mac下Docker的安装与使用

容器文件拷贝

从宿主机拷贝到容器中

在本地文件创建一个 test.txt 文本,里面就一个 test ,然后拷贝到 web 容器中 nginx 默认的站点目录,打开浏览器测试。

Mac下Docker的安装与使用

从容器中拷贝到宿主机

Mac下Docker的安装与使用

目录挂载

我们可以在创建容器的时候,将宿主机的目录与容器的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。

我们在本地创建一个目录,并在创建容器的时候和容器中的指定目录映射。我们就可以在映射后的本地目录或容器目录中做出任意修改,这两个目录会同步。

Mac下Docker的安装与使用

查看容器信息

会显示出 web 容器的所有信息,非常长

使用 --format 来过滤信息,注意格式

Mac下Docker的安装与使用

常用应用部署

MySQL部署

拉取 MySQL 镜像

搜索 mysql ,找到自己想要拉取的镜像

Mac下Docker的安装与使用

创建 mysql 容器(名字随意,我这里和镜像名同名了),宿主机的 33306 端口和容器的 3306 端口映射,并且设置 root 账户的密码。

Mac下Docker的安装与使用

测试连接 MySQL ,注意主机和端口。主机是宿主机的ip,因为我们本机就是宿主机,则默认 localhost 即可。端口号则是宿主机和容器映射的端口号。

Mac下Docker的安装与使用

Tomcat部署

拉取 Tomcat 镜像

这里 TAG 是 7-jre8 ,表示 Tomcat 大版本是 7 ,jre 大版本是8。

Mac下Docker的安装与使用

创建 Tomcat 容器,映射端口和目录,如果本机不存在这的目录,会自动创建。

Mac下Docker的安装与使用

我们部署一个 jenkins.war 在 webapps 目录下

Mac下Docker的安装与使用

测试访问

Mac下Docker的安装与使用

部署 Nginx

我们之前测试的过程中,已经下载过 Nginx 镜像,我们直接使用之前的镜像进行部署,并映射80端口。

Nginx 默认安装目录在 /ect/nginx 下,我们可以进入容器中对 Nginx 进行配置。

Mac下Docker的安装与使用

部署 Redis

安装并运行 Redis 容器,端口保持默认的映射。

Mac下Docker的安装与使用

使用 Redis 客户端测试连接, Redis 默认是没有密码的,所以留空。

Mac下Docker的安装与使用

备份与迁移

容器转成镜像,可以把容器里所有内容都保存下来,通过镜像备份当做模板发给其他人或者其他电脑使用。

这里的 redis 是指容器名称, redis_image 为保存后的镜像名称。

Mac下Docker的安装与使用

镜像备份

Mac下Docker的安装与使用

镜像恢复与迁移

Mac下Docker的安装与使用

这样,我们就可以使用此镜像创建容器了。

注意:删除镜像前,需要先删除通过此镜像创建的容器。

可视化管理Docker

常用的 Docker 可视化工具有 portainer 、 rancher 等,这里我们使用 portainer ,因为 rancher 只支持 Linux 系统的 Docker 宿主机。

拉取 portainer 镜像

安装并运行 portainer 。

创建容器时一定要加映射 -v /var/run/docker.sock:/var/run/docker.sock

然后打开浏览器,输入:http://localhost:9000 ,第一次打开需要设置密码,如果是本地单机则选择 Local ,集群则选择 Remote 。

Mac下Docker的安装与使用
六阿哥

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: