LINUX.ORG.RU

История изменений

Исправление gh0stwizard, (текущая версия) :

Вот, что я нарыл: https://docs.docker.com/engine/userguide/dockerimages/ и https://www.digitalocean.com/community/tutorials/docker-explained-using-docke...

В Dockerfile тебе нужно прописать нечто такое:

# Set the base image to Ubuntu
FROM ubuntu

# copy package into docker filesystem
ADD /mypackage.tar.gz /package.tar.gz

# extract package to build a docker image
RUN tar xzfv /package.tar.gz

# допустим package.tar.gz содержит монгу
# ниже копипаста чтобы запустить mongod на порту 27017
# первая комманда открывает порт для докера
# вторая это аргумент для mongod
# третья это запуск

# Expose the default port
EXPOSE 27017

# Default port to execute the entrypoint (MongoDB)
CMD ["--port 27017"]

# Set default container command
ENTRYPOINT usr/bin/mongod
Ничего сложного, имхо. Далее sudo docker build -t my_mongodb . (копипаста).

Если тебе нужно создавать именно пакеты, то по идее образ для докера должен быть как твоя федора. Т.к. собирать софт на федоре с его хаками для libnss, libfreebl3 и прочих либ — ССЗБ, часть либ в других дистрах просто отсутсвуют, они даже не нужны для приложения, но в федорке все сделано грамотно... Рекомендую дистр для сборок: дебиан (wheezy).

P.S. Зря удалил пост про checkinstall: с помощью него можно делать архивы прог, в том числе и в виде tar.gz

Исправление gh0stwizard, :

Вот, что я нарыл: https://docs.docker.com/engine/userguide/dockerimages/ и https://www.digitalocean.com/community/tutorials/docker-explained-using-docke...

В Dockerfile тебе нужно прописать нечто такое:

# Set the base image to Ubuntu
FROM ubuntu

# copy package into docker filesystem
ADD /mypackage.tar.gz /package.tar.gz

# extract package to build a docker image
RUN tar xzfv /package.tar.gz

# допустим package.tar.gz содержит монгу
# ниже копипаста чтобы запустить mongod на порту 27017
# первая комманда открывает порт для докера
# вторая это аргумент для mongod
# третья это запуск

# Expose the default port
EXPOSE 27017

# Default port to execute the entrypoint (MongoDB)
CMD ["--port 27017"]

# Set default container command
ENTRYPOINT usr/bin/mongod
Ничего сложного, имхо. Далее sudo docker build -t my_mongodb . (копипаста).

Если тебе нужно создавать именно пакеты, то по идее образ для докера должен быть как твоя федора. Т.к. собирать софт на федоре с его хаками для libnss, libfreebl3 и прочих либ — ССЗБ, часть либ в других дистрах просто отсутсвуют, они даже не нужны для приложения, но в федорке все сделано грамотно... Рекомендую дистр для сборок: дебиан (wheezy).

Исходная версия gh0stwizard, :

Вот, что я нарыл: https://docs.docker.com/engine/userguide/dockerimages/ и https://www.digitalocean.com/community/tutorials/docker-explained-using-docke...

В Dockerfile тебе нужно прописать нечто такое:

# Set the base image to Ubuntu
FROM ubuntu

# copy package into docker filesystem
ADD /mypackage.tar.gz /package.tar.gz

# extract package to build a docker image
RUN tar xzfv /package.tar.gz

# допустим mypackage.tar.gz содержит монгу
# ниже копипаста чтобы запустить mongodb на порту 27017
# первая комманда открывает порт для докера
# вторая это аргумент для mongodb
# третья это запуск

# Expose the default port
EXPOSE 27017

# Default port to execute the entrypoint (MongoDB)
CMD ["--port 27017"]

# Set default container command
ENTRYPOINT usr/bin/mongod
Ничего сложного, имхо. Далее sudo docker build -t my_mongodb . (копипаста).

Если тебе нужно создавать именно пакеты, то по идее образ для докера должен быть как твоя федора. Т.к. собирать софт на федоре с его хаками для libnss, libfreebl3 и прочих либ — ССЗБ, часть либ в других дистрах просто отсутсвуют, они даже не нужны для приложения, но в федорке все сделано грамотно... Рекомендую дистр для сборок: дебиан (wheezy).