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 协议》,转载必须注明作者和本文链接
推荐文章: