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$