ผู้ติดตั้ง Brew ติดตั้งไม่รวมถึงเครื่องมือเทียบท่า?


144

พยายามตั้งค่านักเทียบท่าจากการชง แต่ดูเหมือนว่าเครื่องยนต์จะไม่รวมอยู่ในสูตรอย่างเป็นทางการใด ๆ

brew install docker-machine docker-compose

ดังนั้นสิ่งเหล่านี้จะติดตั้งไคลเอนต์เท่านั้น ไม่มีถังกับเครื่องยนต์ / ภูตหรือไม่?

คำตอบ:


211

โปรดลองเรียกใช้

brew install docker

สิ่งนี้จะติดตั้งเอนจิ้น Docker ซึ่งจะต้องใช้ Docker-Machine (+ VirtualBox) เพื่อเรียกใช้บน Mac

หากคุณต้องการติดตั้งDocker ใหม่ สำหรับ Macซึ่งไม่ต้องใช้ Virtualboxคุณสามารถติดตั้งผ่าน Cask ของ Homebrew:

brew cask install docker
open /Applications/Docker.app

1
'นักเทียบท่าเขียน' อัพแค่ให้ฉัน: ข้อผิดพลาด "คุณอาจต้องเริ่มต้นนักเทียบท่าเริ่มต้นเครื่อง" ฉันไม่ต้องการเรียกใช้กล่องเสมือนสำหรับภาชนะของฉันฉันต้องการเรียกใช้ในเครื่องของฉัน
David Karlsson

4
ฉันได้อัปเดตคำตอบเพื่อแสดงวิธีการติดตั้ง Docker สำหรับ Mac ซึ่งไม่จำเป็นต้องใช้ VirtualBox หรือ Docker-Machine
nwinkler

1
ฉันเห็นว่านี่ให้แอปเดสก์ท็อปทั้งหมดแก่ฉัน จะไม่มีวิธีรับ daemon + cli tools เท่านั้นหรือไม่ฉันต้องการเรียกใช้บน OSX "ไม่มีหัว"
David Karlsson

15
@DavidKarlsson แอพ GUI เป็นแอพ Docker "อย่างเป็นทางการ" Docker Inc. พิสูจน์แล้วว่าไม่มีแพ็คเกจสำหรับ Mac OS อย่างไรก็ตามแอพ GUI ประกอบด้วยยูทิลิตี้บรรทัดคำสั่ง หากการbrew cask install dockerusr/local/binln -s /Applications/Docker.app/Contents/Resources/bin /usr/local/bin/docker
เชื่อมโยง

8
ไม่จำเป็นต้องสร้างลิงก์สัญลักษณ์ไปยังไบนารีนักเทียบท่าด้วยตนเอง การรันแอพ Docker เป็นครั้งแรกจะสร้างลิงค์สัญลักษณ์เหล่านี้ ดูคำตอบของฉันได้ที่stackoverflow.com/a/43365425/303363สำหรับรายละเอียด
Susam Pal

339

ขั้นตอนต่อไปนี้ใช้งานได้ดีบน macOS Sierra 10.12.4 ทราบว่าหลังจากติดตั้งชงเทียบท่าที่dockerคำสั่ง (เชื่อมโยงสัญลักษณ์) /usr/local/binไม่สามารถใช้ได้ใน การรันแอพ Docker เป็นครั้งแรกจะสร้างลิงค์สัญลักษณ์นี้ ดูขั้นตอนโดยละเอียดด้านล่าง

  1. ติดตั้ง Docker

    brew cask install docker
    
  2. เรียกใช้ Docker

    • กด+ Spaceเพื่อแสดงSpotlight Searchและเข้าสู่Dockerเพื่อเปิดตัว Docker
    • ในการนักเทียบท่าต้องการเข้าถึงกล่องโต้ตอบสิทธิ์คลิกตกลง .
    • ป้อนรหัสผ่านและคลิกตกลง

    เมื่อนักเทียบท่าเปิดใช้งานในลักษณะนี้ไอคอนวาฬนักเทียบท่าจะปรากฏในเมนูสถานะ เร็วที่สุดเท่าที่ไอคอนปลาวาฬปรากฏการเชื่อมโยงสัญลักษณ์docker, docker-compose, docker-credential-osxkeychainและถูกสร้างขึ้นในdocker-machine/usr/local/bin

    $ ls -l /usr/local/bin/docker*
    lrwxr-xr-x  1 susam  domain Users  67 Apr 12 14:14 /usr/local/bin/docker -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker
    lrwxr-xr-x  1 susam  domain Users  75 Apr 12 14:14 /usr/local/bin/docker-compose -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker-compose
    lrwxr-xr-x  1 susam  domain Users  90 Apr 12 14:14 /usr/local/bin/docker-credential-osxkeychain -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker-credential-osxkeychain
    lrwxr-xr-x  1 susam  domain Users  75 Apr 12 14:14 /usr/local/bin/docker-machine -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker-machine
    
  3. คลิกที่ไอคอนนักเทียบท่าปลาวาฬในเมนูสถานะและรอให้มันแสดงให้เห็นหางกำลังทำงาน

    ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

  4. ทดสอบว่านักเทียบท่าทำงานได้ดี

    $ docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    78445dd45222: Pull complete
    Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://cloud.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/engine/userguide/
    
    $ docker version
    Client:
     Version:      17.03.1-ce
     API version:  1.27
     Go version:   go1.7.5
     Git commit:   c6d412e
     Built:        Tue Mar 28 00:40:02 2017
     OS/Arch:      darwin/amd64
    
    Server:
     Version:      17.03.1-ce
     API version:  1.27 (minimum version 1.12)
     Go version:   go1.7.5
     Git commit:   c6d412e
     Built:        Fri Mar 24 00:00:50 2017
     OS/Arch:      linux/amd64
     Experimental: true
    
  5. หากคุณจะใช้docker-machineในการสร้างเครื่องเสมือนติดตั้ง VirtualBox

    brew cask install virtualbox
    

    โปรดทราบว่าถ้าไม่ได้ติดตั้ง VirtualBox แล้วdocker-machine ล้มเหลวด้วยข้อผิดพลาดต่อไป

    $ docker-machine create manager
    Running pre-create checks...
    Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"
    

32
ส่วนที่ดีที่สุดของคำตอบนี้คือผู้เขียนให้ข้อมูลเพิ่มเติมที่ทำให้คนที่มี OCD สำหรับคอมพิวเตอร์ของพวกเขา (เช่นฉัน) รู้สึกมั่นใจ ขอบคุณ!
dawnstar

มันเยี่ยมมาก! ตอนนี้ฉันเพิ่งติดที่ User X ไม่ได้เป็นส่วนหนึ่งของกลุ่มนักเทียบท่า วิธีแก้ไขปัญหาปัจจุบันคืออะไร
Alper

ฉันติดอยู่ที่ Docker Desktop for Mac ที่เชื่อมโยงกับการทำงานกับผู้ใช้ที่ลงชื่อเข้าใช้ Mac OS UI ไม่สามารถopen /Applications/Docker.appเริ่มใช้นักเทียบท่าจากระยะไกลได้ และถ้าคุณออกจากระบบแอปจะหยุดแอปและเอ็นจิ้นและคอนเทนเนอร์ทั้งหมด
dlamblin

@ david-karlsson โปรดลองทำสิ่งนี้ให้เป็นคำตอบที่ยอมรับ
Ramon Balthazar

31

วิธีติดตั้ง Docker สำหรับ Mac ด้วย homebrew:

brew cask install docker

ในการติดตั้งการเสร็จสิ้นบรรทัดคำสั่ง:

brew install bash-completion
brew install docker-completion
brew install docker-compose-completion
brew install docker-machine-completion

6
คุณไม่ต้องการbrew install docker- นี่ไม่เหมือนกับbrew cask install dockerและติดตั้งสิ่งต่าง ๆ @mimoralea
Igor Serebryany

3
ขอบคุณสำหรับ heads-up:brew cask install docker && brew install bash-completion docker-completion docker-compose-completion docker-machine-completion
mimoralea

อย่าใช้นักเทียบท่าเครื่อง - มันจะช่วยให้คุณมากปวดหัวกับการส่งต่อเครือข่าย
Vlad

1
@mimoralea ฉันขอแนะนำให้คุณลบความคิดเห็นครั้งแรกของคุณเพื่อให้ทุกคนจุดหนึ่งสอง :-)
ดันแคนโจนส์

2
@IgorSerebryany ทำไมพวกเขาแตกต่างกันอย่างไร ความแตกต่างระหว่างพวกเขาคืออะไร? ฉันคาดหวังว่านักเทียบท่าภูตจะไปทางใดทางหนึ่งและงาน cli - ความแตกต่างเพียงอย่างเดียวที่ (ถัง) มี kitematic เช่นกัน?
linuxbandit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.