• docker学习-常用命令


    //ubuntu中简单创建新用户的方法
    sudo adduser robot

    //docker和docker-compose的安装
    sudo apt install docker docker-compose


    //加入docker用户组:
    sudo groupadd docker     #添加docker用户组
    sudo gpasswd -a ${USER} docker    #将用户加入到docker用户组中
    newgrp docker  更新docker组
    或者
    sudo docker ps ...

    1. docker search ubunt    //查找镜像
    2. docker pull ubunt      //下载镜像
    3. docker rmi hello-world //删除镜像
    4. docker ps  //查看所有运行过的容器
    5. docker ps -a  //查看已经在运行的容器
    6. exit 或者 Ctrl+d   //退出容器终端
    7. docker run -it --name nav_ws ros-melodic-nav-develop   //给启动的容器起个名字 nav_ws,不执行任何动作
    8. docker run -it ros-melodic-nav-develop /bin/echo "Hello world"    //启动容器(交互模式)运行完就结束了
    9. docker run -d ros-melodic-nav-develop /bin/sh -c "while true; do echo hello world; sleep 1; done"    //启动容器(后台模式)
    10. docker logs 2b1b7a428627  //查看输出的日志   
    11. docker logs -f --tail 10 docker123   //实时查看docker容器名为docker123的最新10行日志,如果有新的日志生成会实时刷新出来
    12. docker logs docker123 | grep ERROR | tail -n 2    //错误太多了,我只想找最新的两行的ERROR日志
    13. docker logs docker123 | head -n 10         //如果我们要打印最早期的10行日志,就是日志的头10行
    14. docker stop 2b1b7a428627  //停止容器
    15. docker kill 2b1b7a428627  //杀死容器
    16. docker restart 2b1b7a428627  //重启容器
    17. docker rm 2b1b7a428627  //删除容器
    18. docker container prune    //删除所有处于终止状态的容器

    docker exec -it 243c32535da7 /bin/bash   //在运行的容器中执行命令,适用于 docker-compose 创建的容器,然后在里面可以执行指令
    -d :分离模式: 在后台运行    -i :即使没有附加也保持STDIN 打开   -t :分配一个伪终端   -it 执行一个交互的终端   /bin/bash 选择执行的bash
    docker attach 2b1b7a428627   //进入后台运行的容器,适用于docker run创建的容器,然后在里面可以执行指令

    docker build     //构建镜像 需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建镜像

    runoob@runoob:~$ cat Dockerfile 
    FROM    centos:6.7
    MAINTAINER      Fisher "fisher@sudops.com"

    RUN     /bin/echo 'root:123456' |chpasswd
    RUN     useradd runoob
    RUN     /bin/echo 'runoob:123456' |chpasswd
    RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
    EXPOSE  22
    EXPOSE  80
    CMD     /usr/sbin/sshd -D
    每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的
    第一条FROM,指定使用哪个镜像源
    RUN 指令告诉docker 在镜像内执行命令,安装了什么
    然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像

    //docker-compose概述
    使用一个Dockerfile模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务编排。下面介绍Docker官方产品,Docker Compose。
    Dockerfile可以让用户管理一个单独的应用容器,而compose则允许用户在一个模板(yaml格式)中定义一组相关联的应用容器(被称为一个project,即项目)
    例如一个web服务再加上后端的数据库服务容器等。

    docker-compose将所管理的容器分为三层, 分别是工程(project),服务(service)以及容器(containner)

    docker-compose运行目录下的所有文件(docker-compose.yml文件、extends文件或环境变量等)组成一个工程,如无特殊指定,工程名即为当前目录名。
    一个工程当中,可以包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。一个服务中可以包括多个容器实例,docker-compose并没有解决负载均衡的问题。
    因此需要借助其他工具实现服务发现及负载均衡,比如consul。docker-compose的工程配置文件默认为docker-compose.yml。

    //docker-compose是用于定义和运行多容器 Docker 应用程序的工具,然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务,说白了就是一个一键启动脚本
    我们知道使用一个 Dockerfile 模板文件,可以让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。
    例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。
    通过 Docker-Compose 用户可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。
    Docker-Compose 解决了容器与容器之间如何管理编排的问题。

    Compose 中有两个重要的概念:
    服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
    项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。

    1. //Docker Compose常用命令【都需要进入到相应的有docker-compose.yaml文件目录下面】
    2. docker-compose ps    //查看启动的服务,默认为 docker-compose.yml
    3. docker-compose up    //启动并运行整个应用程序(后台执行加 -d选项),默认为 docker-compose.yml
    4. docker-compose -f docker-compose.yml up -d //-f  指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定
    5. docker-compose logs //查看服务容器的输出
    6. docker-compose -f docker-compose-test.yml logs -f  //查看服务容器的输出,并实时刷新
    7. docker-compose down //删除容器、网络、数据卷、和镜像
    8. docker-compose stop //停止已经处于运行状态的容器,但不删除它。通过 docker-compose start 可以再次启动这些容器
    9. docker-compose start //启动已经存在的服务容器
    10. docker-compose -h    //查看帮助
    11. docker-compose pull //拉取服务依赖的镜像
    12. docker-compose restart //重启项目中的服务
    13. docker-compose rm    //删除所有(停止状态的)服务容器。推荐先执行 docker-compose stop 命令来停止容器
    14. docker-compose run ubuntu ping docker.com //在指定服务上执行一个命令
    15. docker-compose scale web=3 db=2 //设置指定服务运行的容器个数。通过 service=num 的参数来设置数量
    16. docker-compose build  //构建(重新构建)项目中的服务容器。服务容器一旦构建后,将会带上一个标记名,例如对于 web 项目中的一个 db 容器,可能是 web_db。可以随时在项目目录下运行 docker-compose build 来重新构建服务
  • 相关阅读:
    论文阅读:自适应ViT(A-ViT)
    一份 Python 日志配置,同时适用于开发和生产环境
    Linux操作系统 - 从概念上认识进程
    【改造后序遍历】 98. 验证二叉搜索树
    六款 Linux 常用远程连接工具介绍
    SpringBoot中 Excel的下载
    nginx 代理接口报404 问题排查
    Oracle:常用函数CASE WHEN,DECODE,NVL,SUBSTR,listagg,instr,to_char,to_number
    PYQT常用组件--方法汇总
    uni.app小程序的ajax封装详细讲解
  • 原文地址:https://blog.csdn.net/qq_34761779/article/details/133974344