• docker基础学习


    1. 安装docker

        注意   docker要求centos系统内核高于3.10

                 通过uname -r 命令查看当前的内核版本, centos7以上其实内核都是3.10版本

                  yum list docker-ce --showduplicates | sort -r    -- 查看可以安装的docker版本

    #安装 yum 源 docker 

    wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

    #安装 docker  此处安装的是18版本的,还有19,20等等更高版本     

    yum -y install docker-ce-18.06.1.ce-3.el7

    #启动

    docker systemctl enable docker && systemctl start docker

    #校验安装

    docker version

    #出现以下的客户端及服务端信息就是安装成功了


    2.docker的架构要理解

    Docker官方网站      Docker: Accelerated Container Application Development

     镜像搜索查询

    https://hub.docker.com/

    相当于控制台docker search java

     docker安装之后会有客户端、服务端以及docker远程仓库(类似maven的远程镜像仓库,地址:https://hub.docker.com/search?q=

     客户端:像是redis的客户端一样,输入docker命令就可以操作服务端

    服务端:很重要,包括一个个小的docker容器和镜像,每一个docker容器就像是一个小的linux虚拟机一样

    远程仓库:我们一般会设置一个阿里云的镜像地址(https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo)我们拉取镜像就是从这个远程仓库中拉取的。

    3.主要的docker命令:

    docker pull redis #如果不指定版本,就是最新版本

    docker images #查看下载到本地的镜像

    docker run ... # 这个命令(最重要)新建并且启动一个容器

    例如:docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:8.0

    或者可以更详细的写:

    1. mkdir -p /home/mysql8/data /home/mysql8/config /home/mysql8/logs
    2. docker run -d \
    3. --name mysql8 \
    4. --privileged=true \
    5. --restart=always \
    6. -p 3310:3306 \
    7. -v /home/mysql8/data:/var/lib/mysql \
    8. -v /home/mysql8/config:/etc/mysql/conf.d \
    9. -v /home/mysql8/logs:/logs \
    10. -e MYSQL_ROOT_PASSWORD=root \
    11. -e TZ=Asia/Shanghai mysql:8.0.27 \
    12. --lower_case_table_names=1

    -d # 后台运行

    --name # 给容器起一个名字

    -p # 对应的端口号 例如:docker run -p 91:80 nginx (91是宿主机上的端口 80是容器的端口)

    --net #  网络模式:

          --net=bridge  # 默认模式 表示连接到默认的网桥 容器所在的网络是一个内网

         --net=host  # 容器使用宿主机的网络 容器和宿主机在同一个网段

    docker ps # 查看运行的容器信息及状态

    docker ps -a  # 查看运行和停止的容器信息及状态

    docker rmi image的id  # 删除镜像

    docker stop 容器id   # 停止正在运行的容器

    docker rm 容器id  # 删除容器(之前先stop)

    docker restart 容器id   # 重启容器

    docker start 容器id   # 启动已经停止的容器

    docker inspect 容器id  #比如说想看看容器中的信息:ip等等

    docker exec -it 容器id /bin/bash #进入正在运行的容器内部,进入成功就可以使用Shell命令了

    docker 内部文件怎么查看_mob64ca12f3f05d的技术博客_51CTO博客

    docker container logs 容器id      #查看容器日志

    docker top 容器id #查看容器里的进程

    docker cp 容器id:要拷贝的文件在容器里面的路径  宿主机相应的路径

    例如:docker cp 容器id:/etc/nginx/nginx.conf   /mydata/nginx

    docker cp 宿主机相应的路径  容器id:要拷贝的文件在容器里面的路径 

    systemctl restart docker 重新启动docker

    如果docker容器中无法使用vi、vim等,进入docker容器中,之后进行如下操作:

    1.更新来源

    apt-get update
    

    2 . 可以安装vim的

    apt-get install -y vim
  • 相关阅读:
    查找(平衡二叉树、红黑树、B树)
    LeetCode.15. 三数之和
    信息学奥赛一本通:2043:【例5.11】杨辉三角形
    BruceR 包中介效应结果不一致?
    【云IDE】CSDN云IDE的初探以及实战操作
    打造千万级流量秒杀第二十七课 单元测试:如何做单元测试和 benchmark?
    jvm关闭时的钩子函数
    三维跨孔电磁波CT数据可视化框架搭建
    (pt可视化)利用torch的make_grid进行张量可视化
    mysql 的 localhost 连接与 IP 地址连接有什么区别
  • 原文地址:https://blog.csdn.net/u014792342/article/details/133501639