搜尋

搜尋結果

Oracle Database in Docker
科技新知
MacauYeah・2023-09-22

雖然筆者之前有提過,Docker並不是萬能,Docker在管理有狀態應用(Stateful Application)的情況下,只能走單機路線。但因為Docker實在很方便,所以連Oracle Database這類強狀態應用也有出Docker版本。當然,它在預設的情況下,只能在單機下操作。 不過即使在單機操作下,還是有一些跟其他Docker Image有差異的地方,需要特別拿出來聊聊。 假設根據官方的教學,跑起了一個oracle19c的Docker Container。再查看當中的Process,你會發現有一個內部PID為1的runOracle.sh 在Docker中這個PID為1的Process是很重要的,它是判斷整個Container有沒有運行的依據。它就是當初在Docker Image中Entrypoint或CMD指定的那個指令生起的Process。Docker daemon要進行停止指令,要停止container時,也是對著PID為1的那個process來處理。 一般的情況下,如果PID為1的那個process可以無腦地停了、重開,那一切都好辦。但在Oracle Database的情況下,就不適合。因為Database始乎都是有交易概念的(Transaction),它的停止並不是殺了process就了事,它還要考慮HDD操作中,有那些可以被考慮為完成,有那些下次要還原(undo)、重做(redo)。如果殺了process就等於Oracle 的Shutdown Abort,有機會下次開機會,就會有交易異常而且無法決定該如何操作。 大家需要先進入Docker container,經sqlplus進行必要的關閉Database指令。但此時,PID為1的那個process,其實還在進行中,在Docker 層面,它就像是Docker Container還在正常運行中,只是Database離線了。又因為sqlplus關閉Database並不是馬上有結果的,所以在整體關閉時可能需要串連command。就像

電子競技 - 是否會令人沉迷
手機‧電玩
MacauYeah・2020-04-02

最近總是有新聞說,有玩家因為沉迷遊戲和比賽,忽略了妻子家人。有一個案更嚴重,妻子在生死悠關時,醫生要通知丈夫,丈夫當時卻關掉電話以防止被打擾,丈夫回覆時,妻子已過世。 原文事件就不再詳述。不過因為最近疫情出現,大家都只有困在家,接觸電玩的機會提高了,所以筆者更想推廣一些正面的資訊,讓大家更健康地接觸電玩。 首先,競技遊戲與一般單機遊戲的最大差異,就是競技類通常都是online對戰,而且"不能暫停"。這因為這個"不能暫停",令大部份人會覺得玩者就像著魔一樣,完全忽略外界的原因。 但直正的競技比賽,講究的是對策以及練習量,它是一份職業和專業。如果想在比賽中取得成績,需要的是合理的訓練和作息。大部份有成績的選手,都會設定獨立的分項練習和練習賽時間,而不是為了逃避現實去玩遊戲。對認真的人來說,電子競技是一份很花時間的職業和事業,而不是一個脫離現實的避風港。 講了這麼多,其實只是想表達,在正途的路上,這份職業跟其他職業一樣,是"沒法"令人沉迷。也只有有責任的情況下,選手才能真正向上流動。 如果大家跟我一樣,都支持正常規律作息的電玩活動,咁就快啲一齊黎支持一下本地競技團隊KIX TEAM。 KIX 最近在組織 Clash Royale, Brawl Stars 社群比賽 詳情可見 https://loot.fvesl.com/ 比賽時間固定,每日賽程都不會超過2小時。做個好榜樣,不會打深夜遊戲。 重點重點是,比賽開放網上報名,而且世界百大排名選手也會來,想試一試世界級的差距,就一定要來報名看看。 https://twitter.com/kix_team?lang=enhttps://www.facebook.com/KIXteam/

Docker Image打包建議
科技新知
MacauYeah・2024-07-10

之前筆者有分享過兩個不同的Docker Image打包方式 App直接打包成Image 只把底層程式打包在Image中(例如Tomcat),再用Docker Volume的方式讓Container可以起動App。 筆者就兩種方式做了一個條列式的對比。詳見連結 https://macauyeah.github.io/AProgrammerPrepares/VMDockerNotes/DeployDockerClusterCN.html 因為兩種方式筆者都有實作過,也算用了很段時間,所以也有一些實際經驗可以分享。 如果大家上正式的Docker課程,Docker導師通常會推薦為每個App打包成獨立Image,因為底層程式的Overhead通常不大,例如底層程式是Tomcat、Apache、Nignx這類網頁伺服器,重量級的開銷並不是因為多幾個Web Engine的分身造成,通常都是因為業務本身。但如果你講的底層程式是資料庫等的大型程式,才可能會有明顯的差異。 但實務上的建議,就是必需考慮自身的經驗,到底那個方案自己比較有把握。獨立打包App,在正式環境也需要考慮跟蹤問題的情況,多個不同App要溝通,也是了解Container網絡。如果打包底層程式,所有App都可以當成是本機下運行,更有信心追蹤問題,也是一個很好的出發點,到了有需要彈性改變不同App的需要,才轉向獨立打包的做法。 筆者最初也是走這個打包底層程式的方向,到了自己有信心試用Docker Swarm,才走向獨立打包的做法。筆者親身經驗,因為到了Docker Swarm,網段會變得暴增,這跟公司現有的內部網絡相衝的機會就會變多。在Swarm起立初時,筆者並沒有意識到這件事,所以當初排查問題,也花了一些時間才知道要向網段衝突上著手。 另一個出自Docker導師實務上的建議,就是正式環境中不要做用Docker compose,應該使用Docker Swarm。那怕Swarm只有一個節點,也應該用Swarm,導師的主要理據是Swarm有Rolling Update (滾動更新)的機制。同一個node也可以有多個分身,每個分身輪流更新,就不會出現大中斷的情況。筆者就自身經驗,Tomcat可以同時容納一個App的多個版本,Nginx也有Failover(故障轉移)等,如果你很熟這些功能,不一定要需要靠Swarm去提供。可以按自己步調去慢慢適應。

你在看短篇攻略還是在收藏經典?
手機‧電玩
MacauYeah・2022-05-18

網路多媒體盛行與普及,媒體也逐漸輕量化。像Blog的出現,比起寫書寫散文要輕量得多,但慢慢地,寫Blog也嫌太長,寫Tweet(Twitter)/ Feed (Facebook)就適合大眾閱讀。影片類媒體也一樣,長篇影片創作成本高,收效也相對低,還不如短視頻有力。遊戲攻略也如是,在資訊不斷發達,大家寧願簡斷地分享一些小技巧,也鮮少有人有條件地把所有事情串合起來。 但當生活都充斥著短媒體的時候,長篇媒體就顯得更加有品味和價值。過往攻略書很受歡迎,最主要是因為資訊傳播渠道太少。但現在遊戲攻略不再局限於紙媒,一個大而全的遊戲專題攻略,就變得像神一樣的存在。筆者雖然已經無法像過往一樣長期玩遊戲,但筆者依舊有關注一些質量高的遊戲攻略網站,間中,筆者也會購買它們的實體書作為收藏。 UCG遊戲機實用技術 - 一個歷久不衰的國產雜誌 在那個中國還未開放遊戲市場的年代,UCG就已經營遊戲媒體。那些年,PS2的攻略,筆者也有收藏過一本。在如今網路資訊盛行,它也還健在,確實很有實力。近一兩年,筆者陸續入手了五本UCG的專輯,除了其中一本的內容比預期差了點,其餘四本也是滿滿的誠意,其中《黑暗之魂火之檔案 三部曲》,NPC的對話內容就不是一般網站可以找得到找得全;《鬼泣 終極檔案》各代隱藏技/里技,每關隱藏要素都列出及最高難度攻略,實在讓筆者也想不到。 vgtime遊戲時光 - 網台及網路攻略 這是一個經營了好幾個年頭的網路媒體,雖然資料量比不上台灣的巴哈姆特,但勝在有整合資訊。查找攻略的時候,可以更有系統地了解遊戲的操作和要素。筆者在攻略一些獨立遊戲,像是《Hollow Knight》的時候,靠的就是它了。即使AAA大作,大家也可以在這個平台搜搜看,雖不一定有完全攻略,但它的碎片攻略也比HK01的攻略好多了,因為它的出圖和分頁方式比HK01好很多,不會出現圖文互相干擾的問題。另外,它們也有網台節目,打機打多了,聊聊Game也是另一番風味。 如果各位讀者對遊戲媒體有其他推薦,亦不妨在本文留言,讓更多人可以知道好東西的存在。

Docker Swarm - Private Registry 私有影像倉庫
科技新知
MacauYeah・2025-09-10

在構建投産環境時,如果 server 群沒有互聯網,又或對私隱很有要求,需要自建一個最簡單的 registry ,可以用這個。當然,那台機第一次必需經互聯網。架起後就可以斷網,並由其他 client 提送新的 registry image更新。 Registry Server 起動方式 最簡單的起動方式,但什麼都不設定。 docker run -d -p 5000:5000 --name registry registry:3 若想要加入 SSL,讓你的 client 不會認為它是不安全的 registry ,最簡易可以寫成 docker compose, 由 docker compose up -d 執行。 # docker-compose.yml registry: restart: always image: registry:3 ports: - 5000:5000 environment: REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key volumes: - /path/data:/var/lib/registry - /path/certs:/certs 上述的 environment 中,有條件的話,還請設定需要登入才能訪問限制。最簡單,可以使用 apache http header 驗證方式。 # docker-compose.yml registry: restart: always image: registry:3 ports: - 5000:5000 environment: REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key + REGISTRY_AUTH: htpasswd + REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd + REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm volumes: - /path/data:/var/lib/registry - /path/certs:/certs + - /path/auth:/auth REGISTRY_AUTH, REGISTRY_AUTH_HTPASSWD_PATH, REGISTRY_AUTH_HTPASSWD_REALM 的值照抄就好,然後/path/auth/htpasswd 就需要以 htpasswd 的格式提供內容 apache password_encryptions。即是以下那個樣子 USERNAME_1:BCRYPT_HASH_1 USERNAME_2:BCRYPT_HASH_2 USERNAME_3:BCRYPT_HASH_3 Client 連線方式 一切都設定好後,在 client 端,就可以登入並推送你的 image,(題外話,cli登入的都是以明文的方式存在電腦中,所以不要隨便在公開的地方存入自己的帳號) # login docker login YOUR_DOMAIN:5000 # try re-upload image docker image tag registry:3 YOUR_DOMAIN:5000/registry:3 docker image push YOUR_DOMAIN:5000/registry:3 如果 server 端沒有提供SSL,那麼 client 就只能設定 http 的不安全連線。 https://distribution.github.io/distribution/about/insecure/ 修改 client 端的 /etc/docker/daemon.json (Windows Docker Desktop請經 Gui修改),然後重啟 client 端的 docker { "insecure-registries" : ["YOUR_DOMAIN:5000"] } Registry Server 維護 - Garbage collection 垃圾回收 當我們設立了自己的 Registry 倉庫之後,少不免就是要維護硬碟的用量。很多過期的 Image ,沒有需要,那就手動刪除,然後進行 Garbage collection (垃圾回收)。另一種情況,就如前述教學中,大家使用統一版本號,例如 latest ,表面上看似只有一個 tag ,但其實底下可能已經藏有多個不同的版本,也需要經過Garbage collection來清理空間。 因為回收過程比較危險,所以官方並不建議自動做,以下就簡單講講為了做刪除和回收,設定檔要怎樣改。為方便改設定,我們更新 docker compose yaml 檔,把 server config 都帶到 container 外面。 registry: restart: always image: registry:3 ports: - 5000:5000 environment: REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm volumes: - /path/data:/var/lib/registry - /path/certs:/certs - /path/auth:/auth + - /path/config.yml:/etc/distribution/config.yml config.yml 就如下所示,為了提供 API 刪除 image 的可能,storage.delete.enbled 要為 true,又為著之後進行回收時,可以避免有人於回收中途上載,所以預先加入 storage.maintenance.readonly.enabled 的控制項。回收之前要把readonly改為true,回收後再調為false。 每次修改完,記得重啟一下 docker service 。 storage: filesystem: rootdirectory: /var/lib/registry delete: enabled: true maintenance: readonly: enabled: false Garbage collection 指令 # inside container # bin/registry garbage-collect [--dry-run] [--delete-untagged] [--quiet] /path/to/config.yml bin/registry garbage-collect --delete-untagged=true /etc/docker/registry/config.yml # outside container, at host level docker exec -it YOUR_CONATINER_NAME bin/registry garbage-collect --delete-untagged=true /etc/docker/registry/config.yml

[澳門居民獨享] 永利酒店夏日一系列優惠,不容錯過
激安優惠
LifeMag Editor・2015-07-01

永利澳門 Wynn Macau 永利澳門為本澳居民呈獻一系列包括住宿、餐飲及水療的精彩禮遇,在今個夏日忙裡偷閒之餘,更可給摯愛送上一份驚喜。 「尊享‧永利」住宿禮遇 由今日起至 9 月 30 日,澳門本地居民可於榮獲《福布斯旅遊指南》五星獎的永利澳門以每房每晚澳門幣 1,888 元** 體驗豪華住宿。禮遇還包括雙人自選早餐、免費無線上網、免費泊車、免費延遲退房至下午 3 時等,讓賓客盡享悠閒。(**價格需另加 10%服務費及 5%政府稅) 入住期間,賓客可前往戶外花園泳池,在綠蔭環抱下暢遊,亦可愜意地徜徉在池畔享受陽光。不可錯過的更包括全澳唯一的表演湖水舞表演、極盡視聽之娛結合了雕塑、影像與燈光效果的吉祥樹及富貴龍表演、位於萬利大堂的海月水母水族箱及遍佈酒店的藝術瑰寶。 「品味‧永利」餐飲禮遇 本地饕客可由即日起至 8 月 31 日,永利澳門內多間米芝蓮星級及得獎食府為各位推出多款品味套餐,價格由澳門幣 168 元*起至澳門幣 688 元*。賓客可於米芝蓮兩星餐廳京花軒及一星餐廳永利軒分別享用北方及粵式風味的精緻點心,於《福布斯旅游指南》五星級餐廳帝雅廷意大利餐廳品味意式美饌,或於紅 8 粥麵享用各式各樣的點心。(*價格需另加10%服務費) 「觸動‧永利」水療禮遇 由即日起至 9 月 30 日,澳門本地居民可於永利澳門的水療中心以八折優惠體驗水療療程,賓客可選擇各種效果顯著的面部護理療程及按摩服務,更可享免費泊車。 條款及細則: • 辦理登記入住手續時,賓客必須出示有效之澳門居民身份證 • 條款及細則詳情請瀏覽 www.wynnmacau.com/macauresidents 住宿查詢及預訂,歡迎致電(853) 8986 9966

【獨家專訪】《好想你》主唱!馬來西亞歌手 Joyce 四葉草
人物專訪
Cheers!・2018-02-15

以一首洗腦神歌《好想你》紅遍省港澳的大馬可愛教主朱主愛日前就為宣傳她的第一個個人演唱會《澳門電訊榮譽呈獻朱主愛來自四葉草》,專程來澳與粉絲和傳媒見面。小編為了讓大家更深入了解四葉草,就在事前準備了《十條問題了解朱主愛》的訪問環節;又請四葉草充當馬來西亞潮語教師,想學大馬潮語?快啲去片啦! 四葉草的笑容和吳若希有幾分相似,連佢本人都話:「梨涡一人一边,真的感觉好亲切。」(圖片來自 Joyce 四葉草 facebook) 免費贏演唱會門票 不得不提,由即日起至2月23日玩“星級娛樂「汪」新春”遊戲就有機會抽到 《澳門電訊榮譽呈獻朱主愛來自四葉草》演唱會門票 2 張同其他豐富獎品,總值超過 3,000 萬! 立即進入遊戲: https://games.cyberctm.com/ 朱主愛Profile 英文名:Joyce Chu Zhu Ai 出生:1997年3月7日 暱稱:四葉草、草草團長、草草 國籍: 馬來西亞 (資料來源:維基百科) 演唱會詳情 主辦:萬星國際娛樂文化有限公司 表演日期:2018 年 3 月 2 日(星期五) 時間:晚上 8 時 地點:新濠影滙綜藝館 熱線:(853) 8865 3333 免付費電話:香港 800 906 282 門票類別 門票票價 貴賓廂房 * 24座 $12,000 / 12座 $6,000 A 區 $680 B 區 $450 C 區 $230 *貴賓廂房包含與歌手見面合照(24 座 - 兩張 / 12 座 - 一張)。 查詢及預訂貴賓廂房,請電郵scecsales@sc-macau.com 訂票網址:https://goo.gl/7tw4p6