Docker 安装
Docker 的基本组成#
- 镜像(image):
docker 镜像就好比是一个模板,可以通过这个模板来创建容器服务。例如 tomcat 镜像 ==>run==>tomcat01 容器(提供服务),通过这个容器可以创建多个容器(最终服务器运行或者项目运行就是运行在容器中) - 容器(container):
Docker 利用容器技术,可以独立运行一个或者一组应用,通过镜像来创建的。
启动,停止,删除,基本命令!
目前可以把容器理解为简易的 linux 系统
仓库(repository):
仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库!
Docker Hub(默认是国外的)
阿里云… 都有容器服务(配置镜像加速)
安装 Docker#
Linux 安装 Docker#
# 查看 docker 版本
$ snap info docker
# 安装 docker
$ sudo apt install docker
# 启动 docker
$ systemctl start docker
# 设置开机启动
$ systemctl enable docker
# 查看 docker 状态
$ systemctl status docker
# 停止 docker
$ systemctl stop docker
# 查看 docker 版本
$ docker version
Mac 安装 Docker#
使用 Homebrew 安装
macOS 我们可以使用 Homebrew 来安装 Docker。$ brew cask install docker
在载入 Docker app 后,点击 Next,可能会询问你的 macOS 登陆密码,你输入即可。之后会弹出一个 Docker 运行的提示窗口,状态栏上也有有个小鲸鱼的图标。
手动下载安装
如果需要手动下载,请点击以下链接下载 Stable 或 Edge 版本的 Docker for Mac。
启动终端后,通过命令可以检查安装后的 Docker 版本。
$ docker version
- 权限问题
# 如果出现权限问题解决办法
# 查看 docker 服务配置信息
$ vim /etc/systemd/system/multi-user.target.wants/docker.service
# 添加 docker 用户组,执行以上命令会提示已存在,原因是在安装docker时已自动创建。
$ sudo groupadd docker
# 将当前用户添加进用户组
$ sudo gpasswd -a ${USER} docker
# 查看是否添加成功
$ cat /etc/group | grep ^docker
# 更新用户组
$ newgrp docker
# 重启 docker 服务
$ sudo service 或者 systemctl docker restart
- Docker 镜像加速
方法一:
Docker 中国区官方镜像
registry.docker-cn.com
ustc
docker.mirrors.ustc.edu.cn
中国科技大学
docker.mirrors.ustc.edu.cn
配置为:
{
"experimental": false,
"debug": true,
"registry-mirrors": [
"http://hub-mirror.c.163.com"
]
}
方法二:
阿里云容器 生成自己的加速地址
- 检查加速器是否生效
$ docker info
- 运行 Hello World
- 查看下载的 hello-world 镜像
$ docker images
- 了解:卸载 Docker在关闭所有运行中容器后,执行使用
$ docker system prune --all --volumes
docker system prune
清理掉各类残余的资源,最后再移除掉 Docker 程序自身即可。
macos 中 docker 的存储路径问题#
在 macOS 中,docker 的实现跟在其它 Linux 系统中略有不同,在其它 Linux 系统中,操作系统本身就是 docker 容器的宿主机,docker 镜像都是直接存储在宿主机本身的文件系统中,比如我们通过 docker info 命令可以看到 docker 的根目录是:
$ docker info|grep "Docker Root Dir" Docker Root Dir: /var/lib/docker
但是在 macOS 下,我们直接查看这个目录,其实是根本不存在的。
$ ls /var/lib/docker ls: /var/lib/docker: No such file or directory
那么 macos 下的 docker 目录安装在哪呢?#
- 查看 docker 进程
$ ps -u $USER | grep Docker
- docker 主目录
$ cd Library/Containers/com.docker.docker/Data/ $ tree -L 3
- 轻量级虚拟化工具包 hyperkit
hyperkit 是用来支持 Dockerfor Mac 和 Docker for Windows 桌面应用程序的版本构建组件之一。它是一种 macos 上的轻量级虚拟化工具包,hyperkit 的结构设计成了一个库,可以使用平常的外来函数接口,与高级语言进行联系。
HyperKit 包括一个完整的虚拟机管理程序,针对轻量级虚拟机进行了优化,它可以与 VPNKit 和 DataKit 之类的组件进行联系。眼下,它只支持 MacOS X,使用 Mac 的虚拟机管理程序框架,这是 Dockerfor Mac 的一个核心组件。
HyperKit 可以与需要启动专用虚拟机或短暂虚拟机的任何应用程序一起使用,只要与 HyperKit 进行链接。
- 访问由 HyperKit 创建的 VM
Docker for Mac 使用 HyperKit 创建的 Linux VM 在 Mac 上存储和运行容器。
在终端运行:
$ cd ~/Library/Containers/com.docker.docker/Data/vms/0/
$ screen tty
您将看到一个空屏幕,然后输入 enter,进入 HyperKit 虚拟机命令行
如果显示 [screen is terminating]
,使用辅助镜像进入
$ docker run -it --privileged --pid=host justincormack/nsenter1
$ cd /var/lib/docker
$ ls -a
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: