• docker 相关基本命令(updating...)


    Install Docker CE
    Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

    # Uninstall old versions
    sudo yum remove docker
    docker-client
    docker-client-latest
    docker-common
    docker-latest
    docker-latest-logrotate
    docker-logrotate
    docker-selinux
    docker-engine-selinux
    docker-engine


    # 安装使用的依赖
    sudo yum install -y yum-utils
    device-mapper-persistent-data
    lvm2

    # 安装使用的源
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    如果速度想快点,就使用阿里的镜像源(推荐
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    # 更新yum缓存
    sudo yum makecache fast

    # 开始安装docker ce
    yum install docker-ce # 默认会下载官方最新的稳定版本

    # 开启Docker服务
    sudo service docker start

    #查看版本
    sudo docker version

      

    配置docker加速器
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["https://1vs5nfat.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    # 安装docker 命令补全工具 

    yum install -y bash-completion

    # 实时查看docker日志
    sudo sh -c "tail -F /var/log/messages |grep docker"


    # 查看所有仓库中的docker版本
    yum list docker-ce --showduplicates | sort -r

    # 如果要安装指定版本

     yum list docker-ce --showduplicates |sort -r

     

    # docker 寻找相应版本网站上
    https://hub.docker.com/r/centos/

    # Install Docker Compose

    sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    sudo chmod +x /usr/local/bin/docker-compose

    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

    # test

    docker-compose --version

    安装 docker-compose

    因为 Seafile v7.x.x 容器是通过 docker-compose 命令运行的,所以您应该先在服务器上安装该命令。

    # for CentOS

    yum install docker-compose -y



    下载并修改 docker-compose.yml

    下载 docker-compose.yml 示例文件到您的服务器上,然后根据您的实际环境修改该文件。尤其是以下几项配置:

        MySQL root 用户的密码 (MYSQL_ROOT_PASSWORD and DB_ROOT_PASSWD)

        持久化存储 MySQL 数据的 volumes 目录 (volumes)

        持久化存储 Seafile 数据的 volumes 目录 (volumes)

    docker开机启动相关
    # docker 启动
    systemctl enable docker.service


    # docker-compose启动


    方法一:
    vim /etc/rc.d/rc.local
    /usr/local/bin/docker-compose -f /www/docker/trace_fecshop/docker-compose.yml up -d

    方法二:
    vim /etc/rc.d/init.d/start-docker-compose.sh

    start-docker-compose.sh
    #!/bin/bash
    # chkconfig: 2345 85 15
    # description: docker-compose

    /usr/local/bin/docker-compose -f /www/docker/trace_fecshop/docker-compose.yml up -d

     # docker 复制镜像和复制容器

    复制镜像和复制容器都是通过保存为新镜像而进行的。

    具体为:

    保存镜像

    docker save ID > xxx.tar

    docker load < xxx.tar

    保存容器

    docker export ID >xxx.tar

    docker import xxx.tar containr:v1

    然后再docker run -it containr:v1 bash

    # 清理相关

    #列出未使用的volume
    $ docker volume ls -qf dangling=true

    #删除未使用的volume
    $ docker volume rm $(docker volume ls -qf dangling=true)

    删除所有未使用数据
    $ docker system prune
    比如想删除未使用的image,container,volume,network

    查看官方文档https://docs.docker.com/config/pruning/#prune-networks

    # 常用操作篇章

    进入数据库

    sudo docker exec -it mariadb1 mysql -u<用户名> -p<密码>

    # 保存对容器的修改,产生一个新的image

    docker commit <container_id> <image_name>

    jq工具

    一个操作json的工具,这个是在查看容器配置的时候用的,我们使用docker inspect ID查看容器配置,往往会过滤出来一些我们关注的信息,一般情况下我们会选择docker inspect --format= 或者使用grep

    但是无论使用哪一种都没有我们最熟悉的操作json的方式来过滤用着爽

    jq工具需要单独安装yum install jq

    使用jq过滤docker inspect 容器名 |jq -r   # 高亮格式化json信息

    # 仅查看“NetworkSettings” 下面的信息

    [loki@???]$ sudo docker inspect <容器名> | jq -r .[0].NetworkSettings

    # 查看docker 存放位置

    sudo docker info |grep Docker

    # 修改默认存储位置----通过建立软连接

    # 停止docker
     service docker stop
    # 移动/var/lib/docker 到/usr/local/
     mv /var/lib/docker /usr/local/
    # 建立软连接
     ln  -s /usr/local/docker /var/lib/docker
    # 启动Docker
     service docker start

    # 修改默认存储位置---修改配置文件

    
    
    默认配置文件/etc/docker/daemon.json,如没有就自行创建
    {
      "registry-mirrors": ["https://1vs5nfat.mirror.aliyuncs.com"],
      "graph":"/docker_data"
    }

    Docker 鬼蓄操作—— 后悔药系列

    PS:如果你Docker创建完毕后,你发现你CPU,内存大小设置有问题,又或者是你端口映射错误,怎么办?

    # CPU,内存大小动态调整

    docker  update

    docker update --help 
    
    Usage:    docker update [OPTIONS] CONTAINER [CONTAINER...]
    
    Update configuration of one or more containers
    
    Options:
          --blkio-weight uint16        Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)
          --cpu-period int             Limit CPU CFS (Completely Fair Scheduler) period
          --cpu-quota int              Limit CPU CFS (Completely Fair Scheduler) quota
          --cpu-rt-period int          Limit the CPU real-time period in microseconds
          --cpu-rt-runtime int         Limit the CPU real-time runtime in microseconds
      -c, --cpu-shares int             CPU shares (relative weight)
          --cpus decimal               Number of CPUs
          --cpuset-cpus string         CPUs in which to allow execution (0-3, 0,1)
          --cpuset-mems string         MEMs in which to allow execution (0-3, 0,1)
          --kernel-memory bytes        Kernel memory limit
      -m, --memory bytes               Memory limit
          --memory-reservation bytes   Memory soft limit
          --memory-swap bytes          Swap limit equal to memory plus swap: '-1' to enable unlimited swap
          --pids-limit int             Tune container pids limit (set -1 for unlimited)
          --restart string             Restart policy to apply when a container exits

    # 想调整docker 端口修改配置文件

    方法一:修改配置文件(尝试没成功)

    sudo vim /var/lib/docker/containers/<容器名>/hostconfig.json

    重启服务 systemctl restart docker   # 注:这里容器下面的所有容器都会被重启!!!

    方法二:把当前容器状态保存,重新生成(尝试成功的方法)

    1、停止docker容器

    docker stop kali2020

    2、commit该docker容器

    docker commit kali2020 kali2020:loki_t1

    3、用前一步新生成的镜像重新起一个容器

    docker run -id  -v /data_backup/kali_linux/_data:/root  --restart=always --name=kali2020  -p 2222:22 -p 4444:4444 -p 8834:8834 kali2020:loki_t1

    # 升级更新Docker版本 2020.4.27

    和重新安装一次无异,先卸载,安装依赖,进行安装

    # 相关参考

    https://www.cnblogs.com/shijf/p/10386193.html

  • 相关阅读:
    angularJs实现星星等级评分
    angular自定义过滤器在页面和控制器中的使用
    字符串单个替换
    angular中的$cookies和$cookieStore设置过期时间
    DOM操作和jQuery实现选项移动操作
    PHP 中英文混排截取字符串
    固定格式时间转换时间戳
    PHP生成唯一订单号的方法汇总
    MySQL优化索引及优化汉字模糊查询语句
    简单封装数据库类
  • 原文地址:https://www.cnblogs.com/Cong0ks/p/11157829.html
Copyright © 2020-2023  润新知