暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MacBook Pro(13-inch)-Intel Core 2 Duo安装Docker的过程

络鸣泪 笛归 2022-03-20
6695
安装时选取的为docker-machine + VirtualBox的方式创建Docker,然后使用FinalShell 本地SSH连接的方式使用docker-compose创建管理Docker容器。







关于本机





提示:在安装Docker的过程中,经历了许多失败,这款MacBook Pro可以算是废品,不能正常安装Docker,安装完成后打开会提示CPU不兼容。
    Incompatible CPU detected


    We are sorry, but your hardware is incompatible with Docker Desktop.


    Docker requires a processor with virtualization capabilities and hypervisor support.




    一、进入docker官网下载inter版本的docker,虽然知道版本可能不支持macOS must be version 10.15 or newer. That is, Catalina, Big Sur, or Monterey. We recommend upgrading to the latest version of macOS.

    If you experience any issues after upgrading your macOS to version 10.15, you must install the latest version of Docker Desktop to be compatible with this version of macOS.):



    然后安装完成,打开提示CPU不兼容,不能使用。


    二、卸载Docker后,选取docker-machine安装。进入Github的docker-machine网站,按照提示获取:
      # Github docker-machine
      https://github.com/docker/machine/releases
      # 网站提示方法
      $ curl -L https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \
      chmod +x usr/local/bin/docker-machine


      三、在创建之前,需要安装VirtualBox


      四、安装完成后,开始创建
        VBoxManage 6.1.32r149290
        docker-machine version 0.16.2, build bd45ab13
        1. 当创建一台新机器时:
          docker-machine create -d virtualbox default
          出现错误①:
            boot2docker.iso
            解决:进入Github的boot2docker,下载文件,将其放入以下文件夹下:
              # Github boot2docker.iso
              https://github.com/boot2docker/boot2docker/releases
              # 文件夹
              /Users/mac/.docker/machine/cache
              出现错误②
                network
                # 这个问题是由较新版本的VirtualBox中Host-Only网络的IP限制引起的
                解决:清理所有网络后重新创建网络
                  Running pre-create checks...
                  Creating machine...
                  (default) Copying Users/foobar/.docker/machine/cache/boot2docker.iso to Users/foobar/.docker/machine/machines/default/boot2docker.iso...
                  (default) Creating VirtualBox VM...
                  (default) Creating SSH key...
                  (default) Starting the VM...
                  (default) Check network to re-create if needed...
                  (default) Found a new host-only adapter: "vboxnet0"
                  Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start: usr/local/bin/VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.99.1 --netmask 255.255.255.0 failed:
                  VBoxManage: error: Code E_ACCESSDENIED (0x80070005) - Access denied (extended info not available)
                  VBoxManage: error: Context: "EnableStaticIPConfig(Bstr(pszIp).raw(), Bstr(pszNetmask).raw())" at line 242 of file VBoxManageHostonly.cpp


                  解决方案:参照这位的网页解决方案(非常有用):
                    # 来源文章:
                    # docker-machine无法在macOS上创建计算机,VBoxManage返回E_ACCESSDENIED错误
                    https://www.5axxw.com/questions/content/hjmf2d


                    1. 查找具有docker-machine ls的所有计算机


                    2. 用docker-machine rm -y <machineName>删除它们

                    3. 用VBoxManage list hostonlyifs查找所有"host-only以太网适配器

                    4. 用VBoxManage hostonlyif remove <networkName>逐个删除它们

                    5. 使用sudo mkdir在etc中创建一个vbox文件夹

                    6. 在vbox文件夹中创建一个文件networks.conf,例如通过sudo touch

                    7. 把下面的线放在那里
                      * 0.0.0.0/0 ::/0

                      8. 使用docker-machine create -d virtualbox <machineName>创建一台新计算机

                      9. 运行命令eval $(docker-machine env <machineName>)来配置shell

                      P.S..

                      1.上述解决方案的一个主要缺点是,每次用docker-machine start <machineName>启动docker机器时Waiting for an IP...会花费大量时间





                      五、解决完这两个错误之后,开始使用SSH进入创建的机器中

                        # 使用docker-machine
                        docker-machine ssh <machineName>
                        # 使用第三方ssh连接工具,(FinalShell)

                        1. 使用密码连接:

                          # 进入机器
                          docker-machine ssh <machineName>
                          # 使用root用户权限
                          sudo su
                          # 修改root密码
                          passwd root
                          # 按照提示输入

                          错误:使用密码连接不能成功,docker-machine使用的是ssh(rsa)免密登录


                          2. 修改登录方式,使用ssh(rsa)登录

                          ①查看rsa文件的位置:
                            /Users/mac/.docker/machine/machines/<machineName>/id_rsa

                            ②使用ssh工具FinalShell连接



                            连接成功后,就可以使用



                            六、使用docker-compose部署容器项目


                            1. 在Github获取文件

                              # Github docker-compose
                              https://github.com/docker/compose/releases
                              # https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-linux-x86_64
                              # 将下载后的文件重命名为docker-compose
                              # 再放入文件夹下
                              /usr/local/bin/
                              # 然后添加执行权限
                              chmod +x usr/local/bin/docker-compose
                              # 查看docker-compose版本
                              docker-compose -v                                                                                                 
                              Docker Compose version v2.3.3

                              出现小插曲


                              在使用远程ssh工具FinalShell时,上传若显示失败:

                              这是因为权限不够,需要修改共享与权限,修改完成后重新启动即可正常使用:


                              2. 部署容器

                                # docker-compose.yaml


                                # ownCloud with MariaDB/MySQL
                                #
                                # Access via "http://localhost:8080" (or "http://$(docker-machine ip):8080" if using docker-machine)
                                #
                                # During initial ownCloud setup, select "Storage & database" --> "Configure the database" --> "MySQL/MariaDB"
                                # Database user: root
                                # Database password: example
                                # Database name: pick any name
                                # Database host: replace "localhost" with "mysql"


                                version: '3.1'


                                services:


                                owncloud:
                                image: owncloud
                                restart: always
                                ports:
                                - 8080:80


                                mysql:
                                image: mariadb
                                restart: always
                                environment:
                                MYSQL_ROOT_PASSWORD: example


                                现在,这款老机器就能正常使用Docker了。


                                文章转载自络鸣泪 笛归,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                评论