1. docker 把运行环境打包成镜像,对运维部署工作减轻了很多工作
  2. 三大元素
    仓库 镜像 容器
    仓库中存储着镜像,镜像启动后变成容器
  3. 安装 centos6系统
#安装之前需要先安装epel 就是类似于依赖yum install -y epel-release 
#正式安装docker-ioyum install -y docker-io#安装后的配置文件cd  /etc/sysconfig      docker#启动service  docker start 
#版本docker version

docker文件中的other_args参数可以配置仓库地址
Docker-01  20190306_Docker
3. 安装 centos7系统
https://docs.docker.com/
Docker-01  20190306_Docker_02
https://docs.docker.com/install/linux/docker-ce/centos/
(1) 卸载
Docker-01  20190306_Docker_03
(2)按照步骤来

#1.sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2#2.sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo    
#3. sudo yum-config-manager --enable docker-ce-nightlysudo yum-config-manager --enable docker-ce-testsudo yum-config-manager --disable docker-ce-nightly#4.sudo yum install docker-ce docker-ce-cli containerd.io#5.sudo systemctl start docker#6. 执行后才能用这个sudo docker run hello-world 如果报错的话 可以先去仓库下载镜像

配置文件:
/etc/docker/daemon.json 可能没有 自己创建
Docker-01  20190306_Docker_04

  1. docker 虚拟机 区别
    Docker-01  20190306_Docker_05
  2. 命令
    帮助命令:
    docker version
    docker info
    docker --help 万能命令 类似linux的 man命令
    镜像命令:
    docker images 列出本地主机上的镜像
    -a 列出本地所有镜像(含中间映像层)
    -q 只显示当前镜像的image_id
    -qa 全部镜像的id
    –digests 显示镜像的摘要信息
    –no-trunc 显示完整的镜像信息 没有截取
    docker search xx某个镜像名字 去hub.dockder.com上查找 指定名字的镜像
    -s 数字 starts超多指定数字的镜像
    –no-trunc
    –automated 只列出 automated build类型的镜像
    docker pull 某个镜像名字 下载镜像
    docker pull 镜像名字:[tag] tag : 标签 /版本 没有tag默认是latest
    docker rmi 镜像名字/镜像id:[tag] 删除镜像
    -f 强制删除
    空格隔开 删除多个
    docker rmi -f $(docker images -qa) 全部删除

容器命令:
docker run -options 容器名:[tag]/容器id 启动容器
-i 以交互式 运行容器 通常与-t 同时使用
-t 为容器重新分配一个伪输入终端,输入命令的终端 通常与-i 同时 使用
–name 容器名字 指定容器名字
-d 后台运行 并返回容器id 也就是启动守护式容器
-P 随机端口映射
-p 指定端口映射
四种形式:
ip:hostPort:containerPort
ip::containerPort
hostPort:conainerPort
containerPort

docker ps 默认显示当前正在运行的容器
-l 上一个容器
-a 当前正在运行的 和 曾经运行的容器
-n x 上x次运行的容器
-q 只显示容器编号
exit 关闭容器(前提是在容器的命令行窗口)
ctrl+p+q 这就是先退出 不关闭 等会儿还能进来
docker start 容器id/容器名称 启动关闭的容器
docker restart 容器id/容器名称
docker stop 容器id/容器名称 停止容器
docker kill 容器id/容器名称 强制停止容器
docker rm 容器id/容器名称 删除已经停止的容器
-f 强制删除
一次性删除多个容器
docker -rm -f $(docker ps -a -q )
docker ps -a -q | xargs docker rm

docker run -d 启动容器知识点Docker-01  20190306_Docker_06
这样启动,cnetos就不会关闭,因为这个相当于前台有相应Docker-01  20190306_Docker_07
查看容器日志:
docker logs -f -t --tail 容器id
-t 是加入时间戳
-f 跟随最新的日志打印 不停追加
–tail 数字 显示最后多少条

docker top 容器id 查看容器内运行的进程
docker inspect 容器id 查看容器内部的细节
进入正在运行的容器并以命令行交互
docker exec -it 容器id bashShell(命令 比如: ls -l /tmp ) 这个相当于进去执行把结果输出出来 但是我当前还是在容器外边 不进去
docker exec -it 容器id /bin/bash 等同于下边那句:
docker attach 容器id 重新进入 (ctrl+q+p 退出)

从容器内拷贝文件到主机上:
docker cp 容器id:容器内路径 目标主机路径
docker cp 123:/tmp/test.txt /root/aa/
把容器的test.txt 拷贝到 虚拟机的/root/aa下