Dockerfile edit

# Configures a Ruby web server and copies the current folder content
# to use as app root.

# Use the following commands to build and run the server.
#   docker build -t ruby-server .
#   docker run -d -p 8000:8000 --name=ruby-server ruby-server

# Then open a web browser and connect to http://localhost:8000 .

# References:
#   https://hub.docker.com/_/ruby

FROM ruby:alpine

WORKDIR /usr/src/app
COPY . .

EXPOSE 8000

CMD ["ruby", "app.rb"]

app.rb edit

# Displays "Hello world!"
#
# References:
#   https://en.wikipedia.org/wiki/WEBrick

require 'webrick'
server = WEBrick::HTTPServer.new(:Port => 8000)

server.mount_proc('/') do |request, response|
    response.body = "Hello world!"
end

trap("INT") {server.shutdown}

server.start

Try It edit

Online Free edit

  1. Use Play with Docker. Create an account and/or log in.
  2. Start an interactive session and add a new instance.
  3. In the terminal window, enter the following commands:
    • touch Dockerfile
    • touch app.rb
  4. Use the Editor button to edit both files and save the contents above into each respective file.
  5. Run the following commands:
    • docker build -t ruby-server .
    • docker run -d -p 8000:8000 --name=ruby-server ruby-server
  6. In the top window, select the 8000 button to connect to the running server.

On Your Own System edit

  1. Install Docker Desktop or the Docker Engine.
  2. Save the files above into a new Docker Flask folder:
    • Dockerfile
    • app.rb
  3. At a command prompt, change to the Docker Flask folder and then run the following commands:
    • docker build -t ruby-server .
    • docker run -d -p 8000:8000 --name=ruby-server ruby-server
  4. Open a web browser to connect to the running server:

See Also edit