Docker的基本操作命令


在写文章之前先推荐一个很好用的docker镜像网站:http://hub.daocloud.io/

  1. 拉取镜像
    docker pull 镜像名称[:tag]
    例如 docker pull daocloud.io/library/tomcat:8.5.15-jre8
    其中 daocloud.io/library/tomcat:8.5.15-jre8 是镜像网站里(此处为http://hub.daocloud.io/)复制的对应镜像的镜像名称和版本号

  2. 查看全部本地镜像
    docker images

  3. 删除本地镜像
    docker rmi 镜像标识

  4. 镜像的导入导出

  • 将本地的镜像导出
    docker save -o 导出的路径 镜像id
  • 加载本地镜像文件
    docker load -i 镜像文件
  • 修改镜像名称
    docker tag 镜像id 新镜像名称:版本
  1. 运行容器
  • 简单操作
    docker run 镜像的标识|镜像名称[:tag]
  • 常用的参数
    docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|容器名称[:tag]
    -d 代表后台运行容器
    -p 宿主机端口:容器端口:为了映射当前Linux端口和容器的端口
    --name 容器名称:指定容器的名称
  1. 查看正在运行的容器
    docker ps [-qa]
    -a:查看全部的容器,包括没有运行的
    -q:只查看容器得到标识

  2. 查看容器的日志
    docker logs -f 容器id

  3. 进入到容器内部
    docker exec -it 容器id bash

  4. 删除容器(删除容器前,需要先停止容器)

  • 停止指定容器
    docker stop 容器id
  • 停止全部容器
    docker stop $(docker ps -qa)
  • 删除指定容器
    docker rm 容器id
  • 删除全部容器
    docker rm $(docker ps -qa)
  1. 启动容器
    docker start 容器id

  2. 将宿主机的内容复制到容器内部
    docker cp 文件名称 容器id:容器内部路径

  3. 创建数据卷

数据卷:将宿主机的一个目录映射到容器的一个目录中。可以在宿主机中操作目录的内容,那么容器内部映射的文件,也会跟着一起改变
docker volume create 数据卷名称
创建数据卷后,会默认存放在目录/var/lib/docker/volumes/数据卷名称/_data

  1. 查看数据卷的详细信息
    docker volume inspect 数据卷名称

  2. 查看所有数据卷
    docker volume ls

  3. 删除数据卷
    docker volume rm 数据卷名称

  4. 应用数据卷
    当你映射数据卷时,如果数据卷不存在,docker会自动帮你创建,会将容器内部自带的文件,存储在默认路径中
    docker run -v 数据卷名称:容器内部的路径 镜像id
    直接指定一个路径作为数据卷的存放位置,这个路径下是空的
    docker run -v 路径:容器内部的路径 镜像id