Docker学习笔记

Docker学习笔记

一、简介:
  1. Docker使用客户端-服务器CS架构模式,使用远程API来管理和创建Docker容器,容器通过Docker镜像来创建。其中docker镜像是用于创建容器的模板,docker容器是独立运行的一个或一组应用,是镜像运行时的实体,类似类和对象的关系。

    img

  2. Docker和虚拟机的区别:

    img

  3. Docker自身特点:

    img

二、Docker安装:
  1. 设置repository:

    sudo apt-get update
    
    sudo apt-get install \
      apt-transport-https \
      ca-certificates \
      curl \
      gnupg-agent \
      software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo apt-key fingerprint 0EBFCD88
    sudo add-apt-repository \
        "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
        $(lsb_release -cs) \
        stable"
    
  2. 安装docker engine:

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  3. 配置镜像源:

    修改或创建daemon.json文件(/etc/docker/daemon.json)

    {
     "registry-mirrors" : [
       "https://mirror.ccs.tencentyun.com",
       "http://registry.docker-cn.com",
       "http://docker.mirrors.ustc.edu.cn",
       "http://hub-mirror.c.163.com"
     ],
     "insecure-registries" : [
       "registry.docker-cn.com",
       "docker.mirrors.ustc.edu.cn"
     ],
     "debug" : true,
     "experimental" : true
    }
    

    重启docker

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
三、Docker容器使用
  1. 使用镜像启动容器:docker run -itd ubuntu /bin/bash,其中i表示交互式操作,t表示终端,d表示后台运行,若使用后台运行方式,则默认不进入容器,进入容器时需要docker exec命令;
  2. 停止一个容器:docker stop;
  3. 重新启动一个容器:docker restart;
  4. 启动已停止运行的容器:docker start container_name(container_id);
  5. 导出一个容器:docker export container_id -o xxx.tar;
  6. 导入一个容器快照为镜像:docker import xxx.tar image_name;
  7. 删除一个容器:docker rm -f container_id;
  8. 查看正在运行的容器:docker ps,加-a表示显示所有已经创建的容器;
  9. 查看容器日志和进程:docker logs;docker top;
  10. 查看docker容器的底层信息:docker inspect;
  11. docker run详细参数命令:-P为随机端口映射,-p为指定端口映射(主机端口:容器端口),-v为绑定一个卷。
  12. 从容器来创建一个新的镜像:docker commit container image。
四、Docker镜像使用
  1. 查看本地主机所有镜像:docker images;
  2. 预先下载镜像:docker pull;
  3. 查找镜像:docker search;
  4. 删除镜像:docker rmi;
  5. 查看镜像创建历史:docker history;
  6. 将指定镜像保存成tar文件:docker save image -o xxx.tar;
  7. 导入使用save命令导出的镜像:docker load -i xxx.tar。
五、Dockerfile制作
  1. dockerfile是一个用来构建镜像的文本文件,包含了一条条构建镜像所需要的指令和说明;
  2. 构建镜像命令:docker build -t image . ,这里的t表示镜像名字,.表示上下文路径;
  3. FROM:定制的镜像都是基于FROM的镜像;
  4. RUN:用于执行后面的命,对于多个命令可以使用&&进行连接,则只会创建1层镜像;
  5. COPY source_dir target_dir:从上下文复制文件或者目录到容器指定路径;
  6. ENV:设置环境变量,后续可以加$进行使用;
  7. VOLUME:定义匿名数据卷;
  8. EXPOSE:声明端口;
  9. WORKDIR:指定工作目录
问题
  1. Q: ERROR:Docker Got permission denied while trying to connect to the Docker daemon socket at unix://

    A: 将当前用户加入docker组: sudo gpasswd -a ${USER} docker. newgrp docker.

参考文献:

[1] https://docs.docker.com

[2] https://www.runoob.com/docker/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值