一句话介绍概念

什么是Docker

docker是一种容器技术,为了解决代码在迁移时“水土不服”的问题

镜像和容器的关系

镜像是个模板,类似java的类;容器则是镜像实例化的对象

仓库是什么

仓库是用来拉取镜像的,类似GitHub

MacOS安装及镜像加速

安装

直接官网下载dmg文件安装即可

加速

  1. 点击右上角docker图标,点击Preferences
  2. 点击Docker Engine,而不是网上清一色的Daemon和Advanced
  3. 修改为内容
{
  "debug": true,
  "experimental": false,
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}
  1. 打开阿里云并登陆,搜索容器镜像服务,在镜像加速器中获取你专有的镜像加速服务地址
  2. 将地址加入到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.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

To see the world as it is and to love it.