Docker Ruby應用程序示例

Docker允許執行Ruby應用程序。 在下面的例子中,我們將演示如何創建一個使用Docker來運行Ruby文件。 它包括以下步驟:

1. 創建一個目錄用來組織應用程序文件

yiibai@ubuntu:~$ mkdir -p /home/yiibai/docker/ruby-docker-app

2. 更改進入工作目錄

yiibai@ubuntu:~$ cd /home/yiibai/docker/ruby-docker-app

3. 創建一個 Dockerfile 文件

使用以下命令:vi /home/yiibai/docker/ruby-docker-app/Dockerfile 打文件寫入以下內容 -

FROM ruby:2
COPY . /var/www/ruby  
WORKDIR /var/www/ruby  
CMD ["ruby","index.rb"]

4. 創建Ruby文件: index.rb

使用以下命令:vi /home/yiibai/docker/ruby-docker-app/index.rb 打文件寫入以下內容 -

puts "Hello, This is Docker ruby application!\n";

5. 構建 Ruby 的 Docker映像

現在,創建這個Ruby應用程序的Docker映像。 以下命令用於創建Docker映像。

yiibai@ubuntu:~/docker/ruby-docker-app$ sudo docker build -t ruby-app .

執行上面代碼,得到以下結果 -

yiibai@ubuntu:~/docker/ruby-docker-app$ sudo docker build -t ruby-app .
Sending build context to Docker daemon  3.072kB
Step 1/4 : FROM ruby:2
2: Pulling from library/ruby
10a267c67f42: Already exists
fb5937da9414: Already exists
9021b2326a1e: Already exists
dbed9b09434e: Already exists
a24b67985d10: Pull complete
6e2ffc998aca: Pull complete
9cc06f02044a: Pull complete
317603e4a1ed: Pull complete
Digest: sha256:fd5849fbbedd7308ea82feedb0ce190a0db8f9e2b76773957033a3beb3a5cab6
Status: Downloaded newer image for ruby:2
 ---> 4bcabaf0fe3c
Step 2/4 : COPY . /var/www/ruby
 ---> 9ed3248ed52e
Removing intermediate container 65d355a9c4a7
Step 3/4 : WORKDIR /var/www/ruby
 ---> 9f7f3c704acb
Removing intermediate container f64d2717f276
Step 4/4 : CMD ruby index.rb
 ---> Running in 2870476e9d07
 ---> 9df42d04cdb2
Removing intermediate container 2870476e9d07
Successfully built 9df42d04cdb2
Successfully tagged ruby-app:latest
yiibai@ubuntu:~/docker/ruby-docker-app$

6. 運行Ruby 的 Docker映像

yiibai@ubuntu:~/docker/ruby-docker-app$ sudo docker run ruby-app

運行docker映像後,執行ruby腳本,並在控制檯屏幕中打印一條消息,如下所示 -

yiibai@ubuntu:~/docker/ruby-docker-app$ sudo docker run ruby-app
Hello, This is Docker ruby application!
yiibai@ubuntu:~/docker/ruby-docker-app$