Docker命令

Docker

  • 安装

    yum -y update        更新yum
    
    yum install docker -y    使用yum安装docker
    
  • 启动Docker

    systemctl start docker.service        启动
    systemctl status docker.service       查看状态
    systemctl stop docker.service         停止
    systemctl restart docker.service      重启
    
  • 预备工作

    1.安装常用工具
    yum install iproute ftp bind-utils net-tools wget -y
    
    2.配置镜像加速器
    1.直接运行下面代码:
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://hvmf8r55.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    3.查看 daemon.json 是否已经生效
    tail /etc/docker/daemon.json    
    
  • 镜像命令

    1.从官网上拉取镜像
    docker pull 镜像名(nginx,centos等)  
    
    2.官网仓库查询镜像名
    docker search  镜像名
    
    3.查看所有的本地镜像
    docker images
    
    4.删除镜像(当镜像有对应容器时,无法删除)
    docker rmi 镜像名(或id)                  删除单个镜像
    docker rmi $(docker images -q)          删除全部镜像
    
    5.标记镜像(同一个id就会有两个镜像)
    docker tag 镜像名1:tag1  镜像名2:tag2       此时docker images会发现2个镜像的id相同
    
    6.提交镜像到官网
    docker login     先登录
    docker push 镜像名      这里的镜像名有要求:用户名/镜像名:版本号,如zj/nginx:latest
    
  • 容器命令

    1.根据镜像生成容器,并运行
    docker run -dit --privileged -p21:21 -p80:80 -p8080:8080 -p30000-30010:30000-30010 
     --name how2jtmall how2j/tmall:latest /usr/sbin/init       
     
     --privileged    启动容器的时候,把权限带进去。
     -dit      -d后台运行   -i提供交互接口   -t提供命令行终端
     -p 80:80      第一个80是CentOS 上80端口,第二个80是容器的80端口,两个端口对接开发
     --name how2jtmall how2j/tmall:latest      --name 容器别名 镜像名:版本号 
     /usr/sbin/init          表示启动后运行的程序,即通过这个命令做初始化
    
    2.创建容器
    docker create     创建,不启动
    
    3.进入容器
    docker exec -it 镜像名 /bin/bash
    exit     离开容器
    
    4.将容器提交成镜像
    docker commit 容器名 镜像名
    
    5.启动容器
    docker start 容器名           启动
    docker stop 容器名            停止
    docker pause 容器名           暂停
    docker unpause 容器名         恢复
    
    6.查看容器
    docker ps -a    查询所有容器
    docker ps       查询运行中的容器
    
    7.查看容器所有信息
    docker inspect 容器名
    
    8.删除容器
    docker rm 容器名                        删除单个
    docker rm `docker ps -a -q` -f		   删除所有容器    (-f强制删除)
    
    9.查看容器日志
    docker logs 容器名
    docker logs -f --tail=3 -t 容器名    -f实时日志   -t添加时间   --tail=3最近3条数据
    
    10.将宿主机的文件复制到容器中
    docker cp 宿主机文件地址  容器名:容器目标地址
    
    docker cp ./blog/docker/index.html nginx:/usr/share/nginx/html/
    
    11.容器的导出
    docker export 容器名 > 宿主机地址/文件名(.tar)
    
    docker export nginx > ./blog/docker/nginx.tar
    
    12.容器的导入
    cat 文件名(.tar) | docker import 容器名:版本号
    
    cat nginx.tar | docker import -importnginx:latest
    
  • 数据卷

    1.挂载
    docker run -itd --name 容器名 -v 宿主机挂载的绝对地址:容器目录 -p 80:80 nginx
    
    docker run -itd --name nginx2 -v ./home:/usr/share/nginx/html -p 80:80 nginx
    将宿主机的./home目录挂载到容器的/usr/share/nginx/html目录下,这样在宿主机里修改文件,对应的容器改目录下也会修改
    
    2.查看数据卷
    docker volume ls      查看所有数据卷
    docker volume inspect 数据卷名(根据上一个命令查看名称)   查看数据卷详情
    
    3.删除数据卷
    docker volume rm 数据卷名   删除单个数据卷
    docker volume prune 数据卷名   批量删除(与容器相关的数据卷不会删除)
    

  • 数据卷容器

    数据卷容器也是容器,用来挂载数据卷的容器,专门供其他容器来引用

    1.创建数据卷容器
    docker run -itd -v 容器目录 --name 容器名 容器类
    
    docker run -itd -v /usr/share/nginx/html --name mydata centos
    
    2.引用容器
    docker run -itd --volumes-from 数据卷容器名 -p 80:80 --name 创建的容器名 容器类
    
    docker run -itd --volums-from mydata -p 80:80 --name nginx1 nginx
    docker run -itd --volums-from mydata -p 80:80 --name nginx2 nginx
    
    nginx1和nginx2都挂载了同一个数据卷到 /usr/share/nginx/html 目录下,三个容器中,修改任意一处,三处都会修改
    
    3.利用数据卷容器对数据备份和恢复
    查看文档19
    

  • Dockerfile和自动化构建

    创建本地镜像的方式:1.commit 2.dockerfile

    查看文档10-12
    

  • 容器连接与容器编排

    查看文档20-21
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值