docker 使用及基本命令

一、docker简单使用

a.列出镜像 docker images

b.从docker hub拉取最新版本镜像 docker pull xxx

错误:
  Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting

  for connection (Client.Timeout exceeded while awaiting headers)

解决办法:
  docker在中国已经有了仓库:https://www.docker-cn.com/registry-mirror
  进入/etc/docker,查看有没有 daemon.json。这是docker默认的配置文件。如果没有新建,如果有,则修改。
  vi daemon.json
  {
    "registry-mirrors": ["https://registry.docker-cn.com"]
  }
  保存退出。
  service docker restart

  Repository 表示镜像仓库的名称
  Tag 标识镜像的标签,一般是版本号
  Image Id 表示镜像的ID,12位
  Created 创建时间
  Size 大小

c.搜索镜像 docker search xxx

  Name 镜像仓库名称,不带/表示官方仓库,带/表示个人公开仓库
  Description 描述 Stars 收藏数,欢迎程度 Official 是否官方 AutoMated 是否自动构建提交的镜像

d.导出导入镜像 docker save mysql >mysql.tar

 在另一台机子上面docker load mysql.tar 

e.启动docker

 后台启动
 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
 --name 指定容器名称
 -d 是守护进程启动

 docker run = docker create 容器x + docker start 容器x
 -p 3306:3306 端口映射(容器端口:物理机端口)
 交互启动
 docker run -i -t 表示键盘标准输入 和 建立伪终端回话
 -d 镜像名称

 进入mysql容器:docker exec -it mysql /bin/bash

f.终止容器 docker kill xxx
  docker ps 列出运行中的容器

g.删除镜像 docker rmi xxx
  报错:Error response from daemon: No such container: 102816b1ee7d

  解决:先删除容器docker rm xxx

  删除没有标记的镜像
  docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

h.删除容器 docker rm xxx

 删除所有容器 docker rm -f $(docker ps -a -q)
 或者 docker rm -f `docker ps -a -q`
 -a 查询所有容器
 -q 仅列出容器id
 -f 批量循环删除

i.拉取mysql5.6.17版本mysql
 docker pull mysql:5.6.17

j.进入容器 docker attach xxx  (不建议使用)

   使用docker exec -it xxx /bin/bash

  或者直接跟其他命令  docker exec -i -t xxx ls -l

k.访问容器中服务

l.停止容器 docker stop xxx  重启  restart

原文地址:https://www.cnblogs.com/yaozhixiang/p/10584266.html