Docker get started

doodle 2020-03-14 16:54:26
docker

本篇紀錄初次在 mac os 上下載 Docker 的過程

 

Step1: 註冊一個 docker 帳號

官方網站:https://hub.docker.com

 

Step2: 下載 Docker Desktop

下載連結:https://hub.docker.com/search?q=&type=edition&offering=community&sort=updated_at&order=desc

下載完 terminal 下 docker version,若有版本資訊出現,表示安裝完成!

$ docker version
Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b
 Built:             Wed Mar 11 01:21:11 2020
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       afacb8b
  Built:            Wed Mar 11 01:29:16 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Server 資訊的 OS/Arch 是 linux

這是因為 docker 實際上最一開始是 develop for linux 作業系統的

所以在 mac os 上,docker 實際上的運作方式是建立一個輕量級的 VM (linux),然後在這VM上再建立 container

詳細可參考文章:https://docs.docker.com/docker-for-mac/docker-toolbox/#the-docker-for-mac-environment

 

 

Step3: clone 官方提供的練習project

git clone https://github.com/docker/doodle.git

cd doodle/

 

 

Step4: Build image

開始動作前,先了解三個名詞會比較好:

Image (映象檔):image是一個唯讀的模版,可以用來建立container

Container(容器):docker 利用 container 來執行應用,container是由image建立起來的執行實例

Repository(倉庫):存放 image 的場所,可將本機端的 image push 到公有(public)或私有(private)倉庫,這樣下次在另一台機器上,只需要 pull 下來就可以用了

 

執行下列命令 build image:

docker build -t docker_id/cheers2019 .
Sending build context to Docker daemon   12.8kB
Step 1/9 : FROM golang:1.11-alpine AS builder
…
Step 2/9 : RUN apk add --no-cache git
…
Step 3/9 : RUN go get github.com/pdevine/go-asciisprite
…
Step 4/9 : WORKDIR /project
…
Step 5/9 : COPY cheers.go .
…
Step 6/9 : RUN CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' -o cheers 
…
Step 7/9 : FROM scratch
…
Step 8/9 : COPY --from=builder /project/cheers /cheers
…
Step 9/9 : ENTRYPOINT ["/cheers"]
…
Successfully built 9651baa66412
Successfully tagged your_account/cheers2019:latest

這個指令會產生名為 cheers2019 的 image, docker_id 為你在 docker 註冊的帳號

可以用下列命令查看目前本機端有哪些 image

$ docker image ls

or

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker_id/cheers2019     latest              9651baa66412        6 seconds ago       4.01MB
<none>              <none>              f9f87b801b39        6 seconds ago       356MB
golang              1.11-alpine         e116d2efa2ab        6 months ago        312MB

 

若想移除 image,可執行下列執令,會清空所有沒有在運行的 container 和 image

docker system prune -a

 

 

Step5: 運行實例

docker run -it --rm docker_id/cheers2019

指令說明:https://docs.docker.com/engine/reference/commandline/run/

--rm 應該是指當container停止運作時,自動移除該 container

-t Allocate a pseudo-TTY

-i  Keep STDIN open even if not attached

-it 就是讓我們能進到 container 的 terminal 進行互動(下指令)

 

Step6: push 到 Docker hub

docker login &&
> docker push docker_id/cheers2019

 

以上


FB 留言
  • 頭香!
    Hello! We will send your offer to owners / administrators of more than 800,000 sites!   Several advantages when working with us :   - Pleasant prices - it is beneficial for us that the client makes a profit significantly higher than the price mailing list and addresses again.   - Everything is as transparent as possible: We will provide screenshots from the software, with detailed reports on the results of the mailing, confirming the fulfillment of obligations on our part.   - Unlike most of our competitors, payment is ONLY for SUCCESSFULLY delivered messages.   Interested in? Contact us during the day and as a bonus, get a free offer for your newsletter! Our Email: MarketingForm2020@gmail.com   P.S. Sorry for the concern if we are already working with you
    By Alexander 2020/07/21 10:15
  • 2 樓
    1. Receive new clients for a fixed % based on closed deals 2. Pay for my services after receiving new clients 3. Standard pay for work via partnership Answer a few questions on a website: https://marketing-2021.com Or contact me via E-mail: info@marketing-2021.com I will propose an individual offer for you More than 7 years of experience in internet marketing
    By Jack 2020/12/22 07:29
  • 3 樓
    Hello, my name is Kirill, I am the founder and director of Profit Turbo. We are engaged in the production of turbo hybrids for any car. Geographically, we are located in the Republic of Belarus city of Mogilev (it is near Russia, Poland, Lithuania) on our hybrids built the fastest urban Audi RS6 in Belarus for every day (soon it will become even faster) . The main customers are located in Russia, recently the hybrid was sent to the United States (New York), Israel. We are looking for representatives in your region or customers who need to increase the power of cars if you are interested or your friends from the auto business, write to us by email or in messengers and get a Commercial offer. We will be glad to cooperate. https://www.instagram.com/kirill_turbo_hybrid/ info@profitturbo.ru Instant Messengers +7 911 380 1234 (WhatsApp, Viber, Telegram )
    By Kirill 2021/01/13 23:54
  • 4 樓
    Здравствуйте! Отправим Ваше коммерческое предложение владельцам/администраторам более 800 000 сайтов! Несколько преимуществ при сотрудничестве с нами: - Приятные цены - нам выгодно, чтобы заказчик получал прибыль, значительно превышающую стоимость рассылки и заказывал снова - Все максимально прозрачно: Предоставим скриншоты из софта, с подробными отчетами о результатах рассылки, подтверждающие выполнение обязательств с нашей стороны. - В отличие от большинства наших конкурентов, оплата ТОЛЬКО за УСПЕШНО доставленные сообщения. Теперь перейдем к гарантиям. Мы понимаем, что в интернете встречается всякое, поэтому чтобы Вам было спокойнее: 1)Перед рассылкой мы предоставим скриншот из программы с Вашим проектом, подтверждающий готовность к запуску 2)Во время рассылки у Вас будет доступ к обратному емайлу, чтобы Вы могли отслеживать процесс рассылки в онлайн-режиме 3)По завершении рассылки отправим скриншоты с подробными отчетами о результатах рассылки, подтверждающие выполнение обязательств с нашей стороны. Напишите нам сейчас и получите бонус, в виде бесплатного составления оффера для Вашей рассылки Наш E-mail: marketingform2020@gmail.com ВАЖНО: Пожалуйста, в сообщении указывайте Ваш контактный ватсап либо телеграм, для удобной и более оперативной связи. Названивать или использовать Ваши контакты для какой-либо другой цели, кроме оперативной связи мы не будем. P.S. Извините за беспокойство, если мы с Вами уже сотрудничаем. С Уважением, команда FormMarketing
    By Евгений 2021/01/18 00:21
  • 5 樓
    purchase term paper http://essay2y.com/ college essay assistance Nvlqjt flsqjw
    By Dcffpg 2021/01/29 00:13
  • 6 樓
    Представьте, что Ваше коммерческое предложение отправлено в формы обратной связи миллиона сайтов. Как считаете, сколько заявок Вы получите? Представьте, что даже всего 1% обратили внимание на Ваше предложение, это 10 000 человек. Даже если 1% из них целевые, это 100 потенциальных клиентов, которые хотят заказать Ваш продукт. Но все зависит от Вашего направления. Например, вряд-ли предпринимателю из Санкт-Петербурга будет интересна доставка пиццы в Сочи. Но если Вашу услугу можно заказать онлайн или у Вас B2B направление (любые услуги, в которых целевая аудитория другие компании/предприниматели), то такая реклама идеально для Вас подойдет. Например, Вы фрилансер, маркетолог, у Вас интернет-магазин или даже продаете мед.маски оптом. Большой плюс рассылки по формам в том, что т.к. львиная доля ЦА владельцы/администраторы сайтов, поэтому средняя платежеспособность ЦА высокая. Конечно, среди миллиона сайтов будут и сайты-блоги, далеко не все получатели будут целевыми. Но из-за очень больших объемов, даже 1% = огромный охат. Теперь перейдем к гарантиям. Мы понимаем, что в интернете встречается всякое, поэтому чтобы Вам было спокойнее: 1)Перед рассылкой мы предоставим скриншот из программы с Вашим проектом, подтверждающий готовность к запуску 2)Во время рассылки у Вас будет доступ к обратному емайлу, чтобы Вы могли отслеживать процесс рассылки в онлайн-режиме 3)По завершении рассылки отправим скриншоты с подробными отчетами о результатах рассылки, подтверждающие выполнение обязательств с нашей стороны. Хотите, составим для Вас коммерческое предложение, согласуем с Вами и запустим рекламу? Свяжитесь с нами в течении суток и в качестве бонуса составление оффера будет бесплатным. Все подробности также отправим в ответном сообщении. Наш E-mail: arsatithos1987@mail.ru ВАЖНО: Пожалуйста, в сообщении указывайте Ваш контактный ватсап либо телеграм, для удобной и более оперативной связи. Названивать или использовать Ваши контакты для какой-либо другой цели, кроме оперативной связи мы не будем. P.S. Извините за беспокойство, если мы с Вами уже сотрудничаем. С Уважением, руководитель команды Formarketing.
    By Евгений 2021/02/19 10:58