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$