Differences between revisions 4 and 14 (spanning 10 versions)
Revision 4 as of 2015-04-16 02:02:16
Size: 1113
Editor: terri
Comment:
Revision 14 as of 2015-04-16 16:12:08
Size: 1995
Editor: terri
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
This is a scratchpad for a Dockerfile: This page is a scratchpad for Terri's Dockerfile. It probably is missing some things. Suggestions and instructions for use welcome!
Line 4: Line 4:
Line 6: Line 7:
# Based on Ubuntu
Line 15: Line 17:
RUN apt-get install bzr python3-dev python3-pip python-dev python-pip python-virtualenv RUN apt-get install -y bzr python3-dev python3-pip python-dev python-pip python-virtualenv
Line 18: Line 20:
RUN apt-get install nodejs npm RUN apt-get install -y nodejs npm
Line 35: Line 37:
RUN source venv/bin/activate RUN . venv/bin/activate
Line 44: Line 46:
RUN ./bin/mailman-web-django-admin runserver &
Line 46: Line 47:
# This sets the django webserver up to not only run, but binds it to all interfaces, port 8000
ENTRYPOINT ./bin/mailman-web-django-admin runserver 0.0.0.0:8000
Line 47: Line 50:

How to build the docker image?

Copy the content above into a file named *Dockerfile* in a directory, and then run the following command.

{{{
  
    $ sudo docker build -t mailman .
}}}

This will take some time to build a docker image with the required steps.

How to start the container/mailman3?


{{{
    $ sudo docker run mailman
}}}

Then find out the container id by following command

{{{
    $ sudo docker ps
}}}

This will start the mailman docker container. You can find out the ip from *$ sudo docker inspect hash_of_docker"
For example I can open "http://172.17.0.15:8000/" in my browser to view Mailman3.

This page is a scratchpad for Terri's Dockerfile. It probably is missing some things. Suggestions and instructions for use welcome!

#########################################
# Dockerfile to setup GNU Mailman Suite
# Based on Ubuntu
#########################################
# Set the base image to Ubuntu
FROM ubuntu

# File Author / Maintainer
MAINTAINER Terri

# Update the sources and install some basic python stuff
RUN apt-get update
RUN apt-get install -y bzr python3-dev python3-pip python-dev python-pip python-virtualenv

# Get the nodejs stuff
RUN apt-get install -y nodejs npm
RUN npm install -g less
RUN ln -s /usr/bin/nodejs /usr/bin/node

# Set the default directory where CMD will execute
WORKDIR /mailman3

# Get Mailman Bundler
RUN bzr branch lp:mailman-bundler

# Get buildout, go into Mailman Bundler and build
RUN pip install zc.buildout
WORKDIR /mailman3/mailman-bundler
RUN buildout

# Set up virtualenv
RUN virtualenv venv
RUN . venv/bin/activate

# Expose ports
EXPOSE 8000

# Prep some stuff
RUN ./bin/mailman-post-update
RUN ./bin/mailman-web-django-admin createsuperuser
RUN ./bin/mailman start

# This sets the django webserver up to not only run, but binds it to all interfaces, port 8000
ENTRYPOINT ./bin/mailman-web-django-admin runserver 0.0.0.0:8000 

How to build the docker image?

Copy the content above into a file named *Dockerfile* in a directory, and then run the following command.

    $ sudo docker build -t mailman .

This will take some time to build a docker image with the required steps.

How to start the container/mailman3?

    $ sudo docker run mailman

Then find out the container id by following command

    $ sudo docker ps

This will start the mailman docker container. You can find out the ip from *$ sudo docker inspect hash_of_docker" For example I can open "http://172.17.0.15:8000/" in my browser to view Mailman3.

MailmanWiki: DEV/Mailman 3.0/Mailman 3.0 Suite Dockerfile (last edited 2016-03-03 12:30:41 by SimonHanna)