一句话介绍概念
什么是Docker
docker是一种容器技术,为了解决代码在迁移时“水土不服”的问题
镜像和容器的关系
镜像是个模板,类似java的类;容器则是镜像实例化的对象
仓库是什么
仓库是用来拉取镜像的,类似GitHub
MacOS安装及镜像加速
安装
直接官网下载dmg文件安装即可
加速
- 点击右上角docker图标,点击
Preferences
- 点击
Docker Engine
,而不是网上清一色的Daemon和Advanced - 修改为内容
{
"debug": true,
"experimental": false,
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
- 打开阿里云并登陆,搜索
容器镜像服务
,在镜像加速器
中获取你专有的镜像加速服务地址 - 将地址加入到
registry-mirrors
列表中,别忘了逗号
服务
## 启动服务
systemctl start docker
## 关闭服务
systemctl stop docker
## 重启服务
systemctl restart docker
## 查看状态
systemctl status docker
## 设置开机自动启动服务
systemctl enable docker
镜像
获取镜像
可以使用 docker pull
命令来从仓库获取所需要的镜像。例如从 Docker Hub 仓库下载一个 Ubuntu 12.04 操作系统的镜像。
$ sudo docker pull ubuntu:12.04
列出镜像
使用 docker images
显示本地已有的镜像。
删除镜像
使用docker rmi + 镜像ID
即可删除镜像
使用docker rmi $(docker images -q)
即可删除所有镜像
注意:在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器。
容器
启动容器
例如创建一个容器,让其中运行 bash 应用。
$ sudo docker run -t -i ubuntu:12.04 /bin/bash
守护态运行
可以通过添加 -d
参数来实现守护态运行,使用exit
退出容器后,容器依然在后台运行
一般来说,参数 -it 为交互式运行,参数 -id 为守护式运行
终止容器
可以使用 docker stop + 镜像ID
来终止一个运行中的容器。
此外,当Docker容器中指定的应用终结时,容器也自动终止。 例如对于只启动了一个终端的容器,用户通过 exit
命令来退出终端时,所创建的容器立刻终止。
查询容器
使用docker ps
查看正在运行的容器
使用docker ps -a
可以查看所有的容器
重启容器
处于终止状态的容器,可以通过 docker start
命令来重新启动。
此外,docker restart
命令会将一个运行态的容器终止,然后再重新启动它。
进入已启动的容器
使用docker exec
可进入已启动的容器
例如docker exec -it 镜像ID /bin/bash
删除容器
可以使用 docker rm
来删除一个处于终止状态的容器,如果需要删除所有容器,可以:
docker kill $(docker ps -a -q)
杀死所有正在运行的容器
docker rm $(docker ps -a -q)
删除所有已经停止的容器
查看容器信息
使用docker inspect
指令查看容器详细信息
参考文献
https://doc.yonyoucloud.com/doc/docker_practice/index.html
Q.E.D.