Tagged

Docker

A collection of 9 posts

Docker

.drone.yml 設定檔範例

將.drone.yml的檔案放在專案的根目錄下,這樣 drone 的伺服器接受到 GitHub、 Gitlab時,會去讀取專案底下的.drone.yml,才知道流程該怎麼走。 .drone.yml的設定範例: pipeline: build: image: node:latest commands: - npm install - npm run build deploy: image: tmaier/docker-compose:latest commands: - docker-compose up -d --build - docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

nginx反向port給docker容器使用
Nginx

nginx反向port給docker容器使用

使用nginx當作proxy的話,要指定port給docker container,讓容器可以正常運作。 讓我們回憶一下,docker container run的指令八 docker run -it --name bonze.test.tw -p 1019:80 其中1019就是我們分配給bonze.test.tw這個docker container的port。 那我們要如何設定呢,其實很簡單。 到nginx(路徑/etc/nginx/conf.d),建立一個bonze.test.tw.conf,並輸入以下內容。 server { listen 80; server_name bonze.test.tw; proxy_connect_timeout 300; proxy_send_timeout

使用DcokerHub線上創建一個映像檔
Docker

使用DcokerHub線上創建一個映像檔

問題 前幾偏文章中我們有提到如何編寫dcokerfile,但東西始終在自己電腦中,要如何給其他人一起修改並進化自己的dockerfile?又要如何不佔用自己電腦的空間與資源的情況下擁有自己想要的dcoker image?這個時候DockerHub提供給了我們一個解決的方法。 如何使用DcokerHub來線上創造一個image(映像檔) 首先把自己dockerfile上傳到自己github 點選Create Automated Bulid之後可以選擇github或者bitucket 這邊我使用github,經過權限授權後,DockerHub會掃出自己git中的專案這時候選擇剛剛上傳有dockerfiles的專案。建立好之後,我們會發現並沒自己的dockerfile。這個時候選到Build Settings 因為git有分支,所以這邊他會要確定分支之後,才可以開始Build。這時選好分支按下Trigger後選到Build Details會看到他正在build docker。 等個幾分鐘之後 會看到他顯示打勾 表示完成。這個時候表示他已經build完成,去Dockerfile會看到自己這份dcoker image裡面安裝了什麼。 結論 利用Github可以讓自己的dcoekrfile給他人一起協作或改進,再利用Dockerhub來Build出符合自己需求的docekr image。完成之後,他人如果想要使用這個image,也能夠快速知道這個image裡面到底裝了哪些東西,讓大家不再瞎摸象了。 以上就是使用dockerhub來建立image的大致過程了。

Dockerfile簡單介紹
Docker

Dockerfile簡單介紹

前言 經過前幾次的docker教學,相信大家都已經體會到,docker快速佈署環境的厲害。 其中docker image的可謂功勞重大。但如果今天要使用別人的image,可是卻不知道image的作者之前在裡面安裝了什麼??就好比一個黑箱子,要你把手伸進去一樣,但你卻不知道自己會摸到什麼,很恐怖吧! “人類最古老而強烈的情緒,便是恐懼;而最古老最強烈的恐懼,便是對未知的恐懼。”—霍華德·菲利普·洛夫克拉夫特 所以!這個時候就有Dockerfile出現了,可以讓大家知道這個image用了哪個版本的作業系統或基底,是誰製作了這個image,安裝了神麼東西,啟動時執行什麼。這樣一來,不管是誰要接手或利用你的image,就清楚透明許多。 什麼是Dockerfile? dockerfile簡單來說就是一個容器container自定義的安裝 由一行行命令語句組成,並且支援以 # 開頭的註解行。 他大致上會擁有四個東西 基底映像檔 維護者(建議加入) 操作指令 容器啟動時執行指令(不一定每個都有) 這四個東西,可以說是組成了dockerfile的重要因素,接下來我們來好好說下關於這四個因素。 基底映像檔 湯有湯底,房子有地基,開頭都說是基底了,

Apache

如何使用dockerfile與supervisor建立一個能自動啟動apache2的container

每次docker container關閉後開啟,總是要進去container內手動重新啟動apache2,為了減少自己的困擾與麻煩,我找到了2種方法。 第一種 直接同步bash檔-v ~/file/bash.bashrc:/etc/bash.bashrc 在bash檔最下面加上service apache2 restart。 ps(最近發現,只要把更改過的bash.bashrc這個檔案ADD到Dockerfile裡面的/etc/bash.bashrc裡面,build起來的container,就可以直接使用/bin/bash自動啟動apache2啦) 第二種 也就是我這次要介紹的,利用dockerfile與supervisor來建立一個container 第一步 建立一個放dockerfile的資料夾 mkdir test 在資料夾內建立一個dockerfile的檔案並編寫dockerfile cd test nano Dockerfile 簡單介紹一下dockerfile Dockerfile 由一行行命令語句組成,並且支援以 # 開頭的註解行。 一般而言,Dockerfile 分為四部分:基底映像檔資訊、維護者資訊、映像檔操作指令和容器啟動時執行指令。

Nginx

docker建立網站伺服器

docker 上上次提到過docker,並寫了一些介紹。 這次來寫寫如何在一台機器中安裝docker與使用docker快速佈署伺服器環境 當然在此之前,請各位大大可以先看看https://www.gitbook.com/book/philipzheng/docker_practice/details 這裡面說明了眾多docker的基本操作、概念與知識 廢話不多說, 安裝docker ubuntu中安裝很容易 curl -sSL https://get.docker.com/ubuntu/ | sudo sh 更多版本中裝docker? 當然,有些過於老舊的系統,可能不支援安裝docker。 這種時候,可能就要仔細看看docker的說明了 https://docs.docker.com/engine/installation/ubuntulinux/ 使用? 我在這邊舉一個最簡單的例子 首先下載一個映像檔 docker pull ununtu:12.04 如果直接打docker

Docker

什麼是docker?

什麼是 Docker Docker 是一個開源專案,誕生於 2013 年初,最初是 dotCloud 公司內部的一個業餘專案。它基於 Google 公司推出的 Go 語言實作。 專案後來加入了 Linux 基金會,遵從了 Apache 2.0 協議,原始碼在 GitHub 上進行維護。 Docker 自開源後受到廣泛的關注和討論,以至於 dotCloud 公司後來都改名為 Docker Inc。Redhat 已經在其 RHEL6.5 中集中支援 Docker;Google 也在其 PaaS 產品中廣泛應用。 Docker 專案的目標是實作輕量級的作業系統虛擬化解決方案。 Docker 的基礎是 Linux 容器(LXC)