zoukankan      html  css  js  c++  java
  • Docker

    Docker 安装应用

    • 安装 odoo 10 : 
      docker pull postgres:9.6 &&docker pull odoo:10 && docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres:9.6 && docker run -p 8899:8069 --name odoo --link db:db -t odoo:10.

       http://127.0.0.1:8899  
      如果是在登陆界面的话,是因为有一个默认帐户。如果不知道邮箱帐号,登陆按钮下有一个管理数据库。点击进去删除odoo后会自动跳转注册页;注册完成即可使用了; 不明白,再沟通;

    • 安装 erpnext :
      docker pull lukptr/erpnext7 && docker run -d --name erpnext -p 8900:80 lukptr/erpnext7
       http://127.0.0.1:8900  
    • 安装 magento2 :
      git clone https://github.com/alexcheng1982/docker-magento2.git && cd docker-magento2 && docker-compose up -d && docker exec -it docker-magento2_web_1 install-magento && docker exec -it docker-magento2_web_1 install-sampledata
      http://local.magento
      注意添加主机 Hosts 127.0.0.1 local.magento 
    • -

    Windows 7 下安装 docker 应用容器引擎

    十大基于 Docker 的开发工具

    50+个有用的Docker工具

    command:

    1. docker info | grep 'registry' -A3 ;   查看当前镜像源
    2. vim /etc/docker/daemon.json l;         创建或编辑该文件,可以添加镜像源;
    3. -


    问题1:Service 'mysql' failed to build: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout
      解决:添加配置 http://f1361db2.m.daocloud.io   》》 重启;

      

    问题2:SQLSTATE[HY000] [2002] Connection refused;

      解决:使用容器名称连接数据库;

         array(
               ‘host' => 'mysql',
               'dbname' => 'database',
               'username' => 'dev',
               'password' => 'dev',
               'active' => '1',
        ),

    问题3:Mac Get https://registry-1.docker.io/v2/: x509: certificate is valid for drivefca.com, www.drivefca.com, not registry-1.docker.io

      解决:在 Docker Engine 修改如下:

    {
      "debug": true,
      "experimental": false,
      "registry-mirrors": ["http://hub-mirror.c.163.com"],
      "insecure-registries":["registry-1.docker.io"]
    }

    或者:https://wj5tcd3l.mirror.aliyuncs.com 为别人的源连接,也可以通过阿里云生成自己连接。(https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

    {
      "debug": true,
      "experimental": false,
      "registry-mirrors": [
        "https://wj5tcd3l.mirror.aliyuncs.com"
      ],
      "insecure-registries": [
        "registry-1.docker.io"
      ]
    }
    

    问题4:ENV 设置代理网络无法连接本地宿主机,无论是127.0.0.1还是固定的本地IP都无法代理成功;

      解决: 在docker 客户端 -》Prefrences -》Resouces -》Proxy 设置本地代理:

         

     问题5:当docker 下载镜像特别慢的时候;

      解决:创建或编辑 /etc/docker/daemon.json 文件,可以添加镜像源;

    {
      "registry-mirrors" : [
        "http://ovfftd6p.mirror.aliyuncs.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
    }

       重启:systemctl restart docker 

    ---

     #实例

    1. 实例: 持久化Odoo 11 安装程序 install.sh:
      # =================
      # bin/bash
      # author Xu
      # ++++++++++++++++++++++
      
      # ----------- createFile
      # arg 1 is Filename
      # arg 2 is Contents
      # return 1
      function createFile ()
      {
          if [ -f "./"$1 ];then
          echo "The File "$1" already exists!"
          echo "
          Whether to delete ?"$1"
          (0) NO
          (1) YES
          "
          read -p 1 input
          case $input in
              0)
              exit;;
              1)
              rm $1
              exit;;
          esac
      else
          echo " Create add file "$1".  OK"
          cat>>$1 <<EDF
      $2
      EDF
      fi
          return 1
      }
      # Create add file .env
      env=".env"
      createFile $env 'POSTGRES_PASSWORD=odoo
      POSTGRES_USER=odoo'
      
      # Create add file docker-compose.yaml
      docker_compose_yaml="docker-compose.yaml"
      createFile $docker_compose_yaml "version: '2'
      services:
        web:
          image: odoo:11.0
          depends_on:
            - db
          ports:
            - "8069:8069"
          volumes:
            - odoo-web-data:/var/lib/odoo
            - ./config:/etc/odoo
            - ./addons:/mnt/extra-addons
        db:
          image: postgres:10
          environment:
            - POSTGRES_PASSWORD
            - POSTGRES_USER
            - PGDATA=/var/lib/postgresql/data/pgdata
          volumes:
            - odoo-db-data:/var/lib/postgresql/data/pgdata
      volumes:
        odoo-web-data:
        odoo-db-data:"
      
      #  Create add odoo.conf
      odoo_conf="odoo.conf"
      createFile $odoo_conf "[options]
      addons_path = /mnt/extra-addons
      data_dir = /var/lib/odoo
      ; admin_passwd = admin
      ; csv_internal_sep = ,
      ; db_maxconn = 64
      ; db_name = False
      ; db_template = template1
      ; dbfilter = .*
      ; debug_mode = False
      ; email_from = False
      ; limit_memory_hard = 2684354560
      ; limit_memory_soft = 2147483648
      ; limit_request = 8192
      ; limit_time_cpu = 60
      ; limit_time_real = 120
      ; list_db = True
      ; log_db = False
      ; log_handler = [':INFO']
      ; log_level = info
      ; logfile = None
      ; longpolling_port = 8072
      ; max_cron_threads = 2
      ; osv_memory_age_limit = 1.0
      ; osv_memory_count_limit = False
      ; smtp_password = False
      ; smtp_port = 25
      ; smtp_server = localhost
      ; smtp_ssl = False
      ; smtp_user = False
      ; workers = 0
      ; xmlrpc = True
      ; xmlrpc_interface = 
      ; xmlrpc_port = 8069
      ; xmlrpcs = True
      ; xmlrpcs_interface = 
      ; xmlrpcs_port = 8071
      "
      echo "install images;"
      docker-compose up -d
      #================================
      View Code
      运行完成以后,帐号admin的密码为 admin . 可以自行修改密码; 
      ---
      可能遇到的问题:
      我们有些朋友不愿意使用数据卷的形式持久化数据。想使用绝对的路径的使用。但本实例更改为绝对路径的话,会导致无法重启成功容器;那些下面附使用卷管理的基本命令:
      a), 进入镜像:docker exec -it 《容器id》 /bin/bash 或者 docker exec -it 《容器id》sh
      b),查看容器的虚拟卷挂载位置:docker inspect 《容器id》 | grep  /var/lib/docker/volumes
      c),使用MAC OS 系统时,docker volume ls 查看卷列表,然后进入Volumes虚拟卷:screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
      d),Volumes 虚拟卷退出:先按 "Ctrl-a" 再按 "d".
    2. 更新Dockerfile文件后,最低成本的更新镜像的方法。docker-compose up -d --build  -有时候就是一个参数可以解决的事
    3. Docker 数据库的访问 是使用 Container Name (容器名称) 做为 host 名称 使用。
    4. Centos Curl 下载导致无法安装Docker-compose 时:
      curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
      
      chmod +x /usr/local/bin/docker-compose
    5. -----------
  • 相关阅读:
    js数组的基本用法及数组根据下标(数值或字符)移除元素
    Oracle备份一张表
    linux中常见的文件操作命令
    java图片二进制相互转换
    getParameterMap的使用
    前端常用
    Oracle 常用
    JAVA中int、String的类型转换
    MySQL 5.7 新特性大全和未来展望
    你有自己的Web缓存知识体系吗?
  • 原文地址:https://www.cnblogs.com/q1104460935/p/9627878.html
Copyright © 2011-2022 走看看