skip to Main Content

I want to run static website inside a docker container.
For this i have create ubuntu EC2 machine,installed docker and pulled centos image.

docker pull centos
docker run -td 9f38484d220f bash
docker exec -it aa779e39eb0f bash
===>now inside the container i am using below command
    yum update
    yum install apache
    service httpd start

but i am getting command not recognized error.

Please help me figure out what i am doing wrong.

Also i as i want to run static website i will be putting below code once apache is installed successfully

     $touch /var/www/html/index.html
     $chkconfig httpd on                 
     $echo "<b>Hii this is my first conatiner running/b>" 
      >> /var/www/html/index.html

Is this correct way of doing it ?

2

Answers


  1. You installed apache and you are trying to run httpd. Refer this to read the difference between apache2 and httpd. You can run following commands to install apache and run a static hello world page on local host.

    $ sudo yum update -y
    $ sudo yum install -y httpd
    $ sudo service httpd start
    $ echo "<html><h1>Hello World!</h1></html>" > test
    $ cat test > /var/www/html/index.html
    
    Login or Signup to reply.
  2. You don’t need a container for hosting a static website. S3 is a better choice for this.

    If you want to do it as an exercice, considere this simple nginx solution, see: https://hub.docker.com/_/nginx

    You have an example in the section : Hosting some simple static content

    FROM nginx:alpine
    COPY . /usr/share/nginx/html
    

    Remember that you usually don’t start a container then start a service inside (for testing and debugging). Entrypoint and command are what start your service, aka what you would manually do.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search