Jump to content
Sign in to follow this  
xzolsu

Создание docker контейнера для Go программы.

Recommended Posts

Иногда требуется сделать программу, которая будет в роли слушателя порта и выполнения какой - либо операции.

Все бы ничего, но частенько порт уже занят(Пример :8080). Чтобы оставить свои порты в покое:

  • Создадим папку Go  и файл docker-compose.yaml:  image.png.22378f5a7349c8915686caa0f9a8ff71.png
     
mkdir Go
touch docker-compose.yaml
  • Создаем внутри папки Go папку с доменным именем:   image.png.1d6605bc637a98fc64f434dc5cc75dc5.png
        
mkdir Go/mydomain.lo
  • Внутри нее создаем подпапку data и файл для создания образа.
    image.png.6353f7138924fca89a13e728c6047e25.png
    mkdir Go/mydomain.lo/data
    touch Go/mydomain.lo/Dockerfile
  • Внутри dada как раз и кладем наш скомпилированый заранее бинарник(и).
    image.png.594d78fc09ceb285015da2d561f4321a.png
  • Открываем созданный Dockerfile 
    cd /Go/mydomain.lo
    vim Dockerfile

    Прописываем в него:
     

    FROM archlinux
    mkdir /go

    image.png.954b4230c8b4761e3d8b53b34e7e2046.png
    FROM - Указывает откуда взять образ. Я выбрал archlinux образ, вы можете выбрать любой другой ОС тут.
    ENTRYPOINT /go/вашБин, он стартанет при поднятии контейнера.

  • Переходим обратно к docker-compose.yaml
     

    cd ../../..

     

  • vim docker-compose.yaml 

    Прописываем в нем версию и наш сервис:
    image.png.115b815d7324f8e890d3422d078152f2.png
    image.png.06d08c73c71b95b3ec55a59a683ee5f7.png
    image.png.6340f1468cd60e510e5f2e44a1f9de86.png

  • Сохраняем и выходим. 
  • docker-compose up

 

Теперь при создании контейнера - поднимется  и программа, но внутри уже контейнера.

  • Like 1

Share this post


Link to post
Share on other sites
3 часа назад, Канай сказал:

А как зависимость прописать от другого контейнера?

Пропиши в сервисе:

links:
  - db

image.png.43b7d5a5d9933c8a58adc1c45273944b.png

Теперь контейнер запуститься после того, как поднимется сервис db/

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...