Docker-01 20190306

版权声明:本文为博主原创文章,未经博主允许不得转载,如需转载请在明显处标明出处! https://blog.csdn.net/qq_36291682/article/details/88209188
  1. docker 把运行环境打包成镜像,对运维部署工作减轻了很多工作
  2. 三大元素
    仓库 镜像 容器
    仓库中存储着镜像,镜像启动后变成容器
  3. 安装 centos6系统
#安装之前需要先安装epel 就是类似于依赖
yum install -y epel-release 
#正式安装docker-io
yum install -y docker-io
#安装后的配置文件
cd  /etc/sysconfig      docker
#启动
service  docker start 
#版本
docker version 

docker文件中的other_args参数可以配置仓库地址
在这里插入图片描述
3. 安装 centos7系统
https://docs.docker.com/
在这里插入图片描述
https://docs.docker.com/install/linux/docker-ce/centos/
(1) 卸载
在这里插入图片描述
(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-nightly

sudo yum-config-manager --enable docker-ce-test

sudo 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 可能没有 自己创建
在这里插入图片描述

  1. docker 虚拟机 区别
    在这里插入图片描述
  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 启动容器知识点在这里插入图片描述
这样启动,cnetos就不会关闭,因为这个相当于前台有相应在这里插入图片描述
查看容器日志:
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下

猜你喜欢

转载自blog.csdn.net/qq_36291682/article/details/88209188