Docker化現有的Rails應用程式

2021-10-07 05:40:18 字數 2534 閱讀 4358

docker是乙個相對較新且發展swift的專案,它允許建立非常輕便的「虛擬機器」。

在計算機上進行所有工具設定可能是一項艱鉅的任務,但值得慶幸的是,隨著docker變得穩定,在您喜歡的os上啟動並執行docker變得非常容易。 首先,我們將安裝docker。

直到幾個版本之前,在osx和windows上執行docker還是很麻煩的。 但是,最近,docker已投入大量資金來改善其使用者在這些os上的入職體驗,因此,執行docker現在是乙個輕而易舉的事。 的

docker 入門指南提供了在docker上設定docker的詳細說明

mac , linux和 windows 。

安裝完docker之後,請執行以下命令測試docker的安裝:

$ docker run hello-world

hello from docker.

...

從rails應用程式開始:

我不會像在dockers**和許多部落格**上那樣通過docker命令。您可以通過多種方式將ruby應用程式部署在docker容器中。 您可以選擇以下任意一種現有的ruby映像之一: 公共泊塢窗登錄檔

該影象將為文章的其餘部分奠定基礎,因為我們將使用結果影象來建立我們的rails影象集。

該映像將包含rails希望在基於debian的os上編譯並正確執行的所有內容。 我將不討論所需的軟體包,而是將重點放在關注點的分離和影象集的配置上。

要記住的一件事是,我們將構建的映像僅用於rubyonrails,並且將不包含任何與資料庫相關的軟體包。 如果需要安裝帶有「擴充套件」軟體包的本機擴充套件的gem,則除非您的所有應用程式都需要,否則應將其放入該特定映像。

您對這張有什麼期待?

由於存在以下標誌,該映像不會在安裝過程中抱怨任何tty警告:

非互動式),我們正在使用,您的所有應用程式都將用作編碼(

zh_cn.utf-8)。

找到以下影象和說明,如下所示。

#dockerfile

from ubuntu:trusty  # using ubuntu os

maintainer "santosh mohanty " # maintainer name

run apt-get update # updating os

env path /usr/local/rvm/bin:$path # set env path

run apt-get update && apt-get -y upgrade && apt-get -y install ruby 1.9.3 # installation of ruby

run ln -sf /usr/bin/ruby1.9.3 /etc/alternatives/ruby

# basics

run apt-get install -y build-essential

run apt-get install -y mysql-client libmysqlclient-dev openssl libreadline6

libreadline6-dev curl zlib1g zlib1g-dev libssl-dev libyaml-dev

libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev

ncurses-dev automake libtool bison subversion pkg- config gawk

libgdbm-dev libffi-dev npm

run gem install bundler

run bundle install

env environment development

cmd ["rails","s"]

expose 3000 # exposing port 3000 for development

請按照以下步驟從dockerfile構建docker映像:

docker build -t rails_image ~/workspace/path_to_dockerfile
這將在docker容器中執行rails應用程式

少量imp命令:

docker run -it rails_image /bin/bash # this would bring up the bash prompt of docker

docker images # list images

docker rmi image_id -f  # remove image

docker ps  # for listing running containers.

您可能會發現從container連線到db的困難,這可以通過執行db image或指向db的特定ip而非本地ip來解決。

我將撰寫有關如何使用docker compose將mysql db映像連線到rails映像的部落格。

現有的DoS DDoS 防禦技術整理

dos產生的主要原因 系統存在耗資源的操作,包括記憶體和 cpu 以及頻寬 使用共享資源的操作 容易導致死鎖 緩衝區溢位 記憶體洩漏 不正確的快取機制 服務使用的工具或者系統的配置不當 存在注入問題,如 sql 注入 命令列注入等 協議級別的攻擊 syn flood,icmp攻擊,這些攻擊都有一些特...

xshell中現有的快捷鍵

每個軟體都會有各自的快捷鍵,例如photoshop中使用ctrl j組合鍵就可以複製圖層,xshell中也帶有這樣的快捷鍵,本集就為大家整理一些目前xshell中的快捷鍵及其解釋說明。快捷方式鍵 說明 alt n 與檔案選單的新建相同 alt o 與檔案選單的開啟相同 alt c 與檔案選單的斷開相...

現有的DRM數字版權保護技術大全

一 對於電子書的drm保護 對於電子書的drm保護技術國外有microsoft das adobe content server等,國內的ebook drm 系統有方正 apabi 數字版權保護技術 書生的sep技術 超星的pdg等。1.microsoft 的digital asset server...