Docker基础

这篇博客详细介绍了Docker的基本命令,包括查看和删除镜像、搜索和拉取镜像,以及容器的创建、启动、管理和数据卷操作。通过实例展示了如何使用Docker创建容器、挂载目录,并构建和上传镜像。此外,还涵盖了容器IP地址查看、容器删除等实用技巧,是学习Docker操作的实用教程。
摘要由CSDN通过智能技术生成

Docker

  1. docker常用命令

    命令代码作用参数
    Docker images查看镜像TAG:标签 latest:最新的
    docker rmi (IMAGE ID)删除镜像docker rmi (ddcca4b8a6f0/redis:latest)
    docker search redis搜索镜像根据STARS排名 OFFICIAL表示是官方的
    docker pull redis拉取镜像默认拉取最新的

  2. 查看容器相关命令

    命令代码作用
    docker ps -a查看所有容器 包括未运行的
    docker ps查看正在运行的容器
    docker ps -l查看最后运行的容器
    docker ps -f status=exited查看停止的容器
    docker ps -n 5列出最近创建的n个容器

  3. 创建与启动容器的相关命令

    docker run --name mynginx -P nginx创建容器并进入 -P表示随机端口
    docker rm 容器名/容器ID删除容器
    docker run --name nginx -p 80:80 nginx指定端口
    docker run -di --name mynginx -P nginx后台运行
    docker exec -it mynginx /bin/bash运行容器并进入容器
    docker stop mynginx停止容器
    docker start mynginx启动容器
    -i表示运行容器
    -t表示容器启动后会进入其命令行 加入这两个参数以后,容器创建就能登陆进去 即分配一个伪终端
    --name为创建的容器命名
    -v表示目录映射关系
    -d在run后面加上-d参数 则会创建一个守护式容器在后台运行 这样创建的容器不会自动登录容器
    -p表示端口映射 前者是宿主机端口 后者是容器内的映射端口
    -P随机使用宿主机的可用端口与容器内暴露的端口映射

  4. 目录挂载(容器数据卷操作)

    1. 匿名挂载

      • 匿名挂载只需要写容器的目录即可 容器外对应的目录会在 /var/lib/docker/volumes中生成

      docker run -di -v /usr/local/data --name centos7  centos:7
      ​
      --/usr/local/data是容器的地址
      ​
      也可以通过 docker inspect centos7 查看全部的配置信息

    2. 指定目录挂载

      • 先启动一个容器 在启动的过程中指定目录挂载

        docker run -di --name mynginx -p 83:80 -v /mydata/docker_nginx:/abc/123 nginx
        ​
        -v 前面的是宿主机的目录 后面的是容器内挂载的目录 两个目录是完全同步的 改变一个另一个也会随之改变
    3. 具名挂载

      • 具名挂载就是给数据卷起了个名字 容器外对应的目录会在 /var/lib/docker/volume中生成

        docker run -di -v docker_centos_data:/usr/local/data --name mynginx06 nginx
    4. 权限(只读/读写)

      • 给挂载目录一个权限

        -- /abc:ro   给/abc这个文件夹只读权限
        docker run -di --name mynginx08 -P -v /mydata/docker_nginx/:/abc:rt nginx
        -- /abc:ro   给/abc这个文件夹读写权限
        docker run -di --name mynginx08 -P -v /mydata/docker_nginx/:/abc:rw nginx
    5. 继承

      -- nginx09继承nginx08 以只读模式
      docker run -di --name nginx09 --volumes-from nginx08:ro nginx
    6. 查看目录挂载的关系

      • 通过docker volume inspect 数据卷名称 可以查看该数据卷对应宿主机的目录地址

        docker volume inspect c12a32dffe47a715076f88e6495d70e72f711f2d64a8fc220f868ca85fd89763
  5. 查看容器ip地址

    1. docker inspect 容器名称|容器ID

  6. 删除容器

    1. docker rm nginx09

  7. docker支持自己构建镜像 还支持将自己构建的镜像上传至公共仓库,镜像构建可以通过一下两种方式实现:

    • docker commit :从容器创建一个新的镜像

    • docker build :配合dockerfile文件创建镜像

    1. 目标:通过基础镜像centos7,在该镜像中安装jdk和tomcat以后将其制作为一个新的镜像mycentos7

      1. 拉取镜像:docker pull centos:7

      2. 创建容器:docker run -di --name mycentos centos:7

      3. 拷贝资源:将宿主机的 jdk 和 tomcat 拷贝至容器

        • docker cp jdk-16.0.2_linux-x64_bin.tar.gz mycentos:/root

        • docker cp apache-tomcat-8.5.70.tar.gz mycentos:/root

      4. 进入mycentos容器:docker exec -it mycentos /bin/bash

      5. 安装资源:

        1. mkdir /usr/local/java

        2. mkdir /usr/local/tomcat

        3. tar zxvf apache-tomcat-8.5.70.tar.gz -C /usr/local/tomcat

        4. tar zxvf jdk-16.0.2_linux-x64_bin.tar.gz -C /usr/local/java

        5. vi /etc/source

      6. 构建镜像

        1. docker commit -a="caicaicentos" -m="tomcat and jdk" centos7 mycentos:7

  8. 使用构建的镜像创建容器

    1. docker run -di --name mycentos7 -p 8080:8080 mycentos:7

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔡霸霸i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值