ansible-builder

看到這篇:紅帽推出IT自動化工具Ansible Builder以加速執行環境創建 | iThome ,所以就來試試看。

就我試用過以後,我的理解是,這工具可以幫忙創建出一個具有 Ansible 環境的 docker image。

環境是定義在 execution-environment.yml 裡,讓我們直接看範例

---
version: 1

# 即基礎 image,目前來說,都是用 quay.io/ansible/ansible-runner:stable-2.9-devel
base_image: 'quay.io/ansible/ansible-runner:stable-2.9-devel'

# 需要自訂 ansible.cfg 的話,這邊就是填 ansible.cfg 的路徑檔名
ansible_config: 'ansible.cfg'

# 相依
# galaxy 是填 requirements.yml,檔案裡描述 playbook 會用到的 role/collection,沒用到可以不填
# python 則是填 requirements.txt,檔案裡描述會使用到的 Python modules,沒用到可以不填
dependencies:
  galaxy: requirements.yml
  python:

# 額外要加入的 docker image 建置步驟
# prepend 會在預定的建置步驟之前
# append 則是在預定的建置步驟之後
additional_build_steps:
  prepend: |
    RUN whoami
    RUN cat /etc/os-release
  append:
    - RUN echo This is a post-install command!
    - RUN ls -la /etc

有了 execution-environment.yml 之後,就可以用 ansible-builder 來建置。

首先,得先安裝:

# python3
pip3 install ansible-builder

接著就可以建置了

ansible-builder build --tag=example

建置完成,會有 docker image,在目錄下則會出現 context 資料夾,這個資料夾裏面就是 ansible-builder 建置過程中所產出的 Dockerfile 以及建置 Docker image 所需的檔案。

打開 Dockerfile ,就會看到 ansible-builder 幫我們產出了什麼。

FROM quay.io/ansible/ansible-runner:stable-2.9-devel as galaxy

ADD ansible.cfg ~/.ansible.cfg

ADD requirements.yml /build/

RUN ansible-galaxy role install -r /build/requirements.yml --roles-path /usr/share/ansible/roles
RUN ansible-galaxy collection install -r /build/requirements.yml --collections-path /usr/share/ansible/collections

RUN mkdir -p /usr/share/ansible/roles /usr/share/ansible/collections

FROM quay.io/ansible/python-builder:latest as builder

ADD requirements_combined.txt /tmp/src/requirements.txt
RUN assemble

FROM quay.io/ansible/ansible-runner:stable-2.9-devel

RUN whoami
RUN cat /etc/os-release

COPY --from=galaxy /usr/share/ansible/roles /usr/share/ansible/roles
COPY --from=galaxy /usr/share/ansible/collections /usr/share/ansible/collections

COPY --from=builder /output/ /output/
RUN /output/install-from-bindep && rm -rf /output/wheels
RUN echo This is a post-install command!
RUN ls -la /etc

大抵來說,

  1. 使用了 multi stage build 以減少 docker image 的大小
  2. 使用 ansible-galaxy 安裝相依的 role/collection
  3. 會看到 additional_build_steps 裡描述的步驟

好,那建置出 docker image 以後,怎麼使用呢?

假設 playbook 是放在 project 目錄下,那麼就這樣執行

docker run --rm -v /runner/project:$(pwd)/project -it example:latest ansible-playbook -i localhost, -c local /runner/project/test.yml

這邊稍微取了點巧,只簡單用 local connection (-i localhost, -c local) 在本機執行,你也可以在這邊使用自己的 inventory。

建置出 Ansible 執行環境的 docker image 以後,除了可以固定住執行 Ansible playbook 的環境,也有利於打造出標準化的 CD 環境,進而減少開發與佈署的時間。

電影流水帳(2020/10/01~2020/12/15)

Hashimoto Kanna at Opening Ceremony of the Tokyo International Film Festival 2017
橋本環奈,飾演黃夫人。
  • Elona Holmes (IMDB, Wikipedia),台譯:天才少女福爾摩斯。
  • 劇場版「鬼滅の刃」無限列車編 (IMDB, Wikipedia),台譯:鬼滅之刃劇場版 無限列車篇。
  • 新解釈・三國志 (IMDB, Wikipedia),台譯:新解釋・三國志。

Elona Holmes

改編自 Nancy Springer 所寫的 Enola Holmes Mysteries 系列少年偵探小說,故事挺有意思的,讓人想找小說來看看。

故事一開始就是 Elona Holmes 的自述,說明為什麼自己現在一個人騎著腳踏車往車站前進。Elona 從小就跟媽媽一起住在郊區,很少看到兩個哥哥。時間過的很快,Elona 一下子就變成婷婷玉立的少女了。在她生日的這天,媽媽卻不見了。她找了好久都沒找到,只好聯絡兩個哥哥,她騎著腳踏車去車站就是為了接哥哥。哥哥們見到她,特別是大哥,只覺得是個累贅,說會把她送去淑女學校,讓她好好當個淑女,Sherlock 倒是沒作聲。Elona 心裡當然是不肯,在解開媽媽留下的謎題之後,她喬裝離家了。

喬裝離家後,她遇到一個也是逃家的男生 Tewkesbury,兩人算是做了朋友,彼此幫忙一同到了倫敦。Elona 開始調查媽媽去了哪裡,一方面也稍稍摸清了 Tewkesbury 的底細。由於 Tewkesbury 的身世是個貴族,再加上最近報上的新聞,她覺得這些事情並不單純,開始進行調查。Elona 的兩個哥哥在 Elona 逃家後,當然擔心啊,大哥找了警探幫忙,二哥 Sherlock 則是透過媽媽留下的線索,沿路追查妹妹下落。Elona 找媽媽的過程跟 Tewkesbury 遭到追殺的事情交錯在一起,整個故事因此高潮迭起。最後,Elona 解開了 Tewkesbury 被追殺的謎團,媽媽的離開恰好與 Tewkesbury 被追殺的緣由相關,是為了一個與女性自主權相關的法案。Elona 找到媽媽,與媽媽重逢,也跟兩個哥哥達成共識,不再需要聽大哥的話去淑女學校唸書,改由 Sherlock 當監護人。故事到這裡就結束了,照常理來推測故事走向,未來會是 Elona 跟 Sherlock 跟 Watson 一同辦案了吧。

劇場版「鬼滅の刃」無限列車編

故事延續動畫第一季的最後,炭治郎一行人在休養結束後,聽從產屋敷耀哉的命令,前往車站搭乘無限列車與炎柱・煉獄杏壽郎會合。故事線蠻單純的,動畫第一季最後留下的伏筆,下弦的魘夢出現了,他利用人們心裡的遺憾與對親人的懷念來操縱他們襲擊列車,炭治郎一行人因此陷入夢裡。但是炭治郎在夢裡發現了異狀,並找到方法解開夢境,回到現實喚醒其他人。接著,一行人開始跟魘夢展開戰鬥。花了一番功夫後,終於將魘夢打倒。只是遇上趕來的上弦猗窩座之後,炎柱杏壽郎壯烈犧牲。

新解釈・三國志

與其說是在講述歷史,不如說是以三國當背景的漫才,有搞笑,有吐嘈。選角都很不錯,在裏面看到不少認識的角色,例如,董卓是勇者義彥裡的佛祖,黃巾是勇者義彥裡的勇者,孔明是勇者義彥裡的魔法師,黃夫人是齊木楠雄的災難裡的照橋心美,曹操是信長協奏曲裡的信長。

故事從桃園三結義講到討伐黃巾,再到美人計,再到長阪坡,再到赤壁之戰,把一些重點的事情都交代了。

直接用 SSH 登入 vagrant 虛擬機失敗

試著直接使用 SSH 登入 vagrant 開出來的 Ubuntu 虛擬機,會出現錯誤訊息:

SSH Login Failed : Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

可是用 vagrant ssh 卻可以登入,用 vagrant ssh 登入進去查,SSH daemon 有啟動,所以 SSH 服務是沒問題的。後來透過錯誤訊息才查到,是 SSH Daemon 裡的 PasswordAuthentication 被設定為 no 了。所以修改 /etc/ssh/sshd_config ,將 PasswordAuthentication 設定為 yes 後,就可以用 ssh 登入了。

vagrant ssh 之所以可以登入,是因為在初始化虛擬機時,預先產生好 SSH Key,並且把 SSH public key 放到虛擬機裡了。另外一種解決方法,就是使用產生好的 SSH private key 來登入。

ssh -i .vagrant/machines/<your_machine_name>/virtualbox/private_key ubuntu@<your_machine_ip>

參考資料:

電影流水帳(2020/09/16~2020/09/30)

MSDHOFL EC007
Sandra Bullock
  • Ocean’s Eight (IMDB, Wikipedia),台譯:瞞天過海-八面玲瓏。
  • John Wick: Chapter 3 – Parabellum (IMDB, Wikipedia),台譯:捍衛任務 3-全面開戰。

Ocean’s Eight

套路跟 Ocean’s Eleven 系列一樣,重拍的不錯,故事最後的轉折也蠻令人驚喜。

Debbie Ocean 是 Daniel Ocean 的妹妹,身上流著家族的血液,自然做的事業也一樣。Debbie 剛從監獄裡出來,就找了舊日的伙伴 Lou,打算偷取珠寶。經過討論之後,開始邊找需要的同伴。找到 7 個伙伴之後,接著就開始進行計劃。進行的過程中雖然有小差池,但仍然順利完成,也順利栽贓給害 Debbie 入獄的前男友。最後才發現戴珠寶的 Daphne 也是同伙,這就我說的小驚喜,有點出人意料,不過也是可以想像的到的啦。

John Wick: Chapter 3 – Parabellum

承接上集的故事,John Wick 被下令追捕,所以 John Wick 試圖想找到解決方法,避免再被追殺。透過之前的人情,他順利逃脫,並找到了 Sofia 。Sofia 帶他去找以前的老闆,想再透過他找到高桌會上層。John 順利問到,可是這裡再次因為狗狗的緣故,發生慘案。Sofia 的狗狗被殺,一怒之下大開殺戒,幹掉自己以前的老闆。兩人邊打邊走,到了沙漠,在這裡,John 跟 Sofia 分開,John 去找高桌會上層。

在紐約,高桌會的審判員開始進行調查,調查是誰放了 John,是誰幫了 John,並找了殺手 Zero 去「處理」這些人。John 在沙漠遇到了高桌會上層,達成了協議,只要 John 繼續幫高桌會殺人,那麼就既往不究。第一個要殺的人就是幫 John 逃脫的大陸飯店經理 Winston。於是 John 回到紐約,要去殺 Winston。Zero 也接收到指令,要去殺自己敬仰的 John。John 一邊對抗 Zero 跟他的人,一邊往大陸飯店前進,想完成殺 Winston 的任務。Zero 一路追 John 追到大陸飯店,只差一點就要殺了 John,卻因為大陸飯店的禁令而無法動手。高桌會審判員這時向高層申請解除禁令,於是又開始一番殺戮。John 還是沒能殺 Winston,他跟 Winston 決定聯手對抗高桌會。經過一番打鬥,Zero 跟他的人都被 John 幹掉,John 正打算殺了審判員,只是就在這時候,Winston 跟審判員達成協議,他開槍打了 John ,John 受了傷從樓頂掉了下去。協議內容是,Winston 仍然是大陸飯店經理,而審判員免於被殺。

John 就這樣死了嗎?沒有,他被應該已經死去的 The Bowery King 救了,John 醒了以後,發現自己又被背叛,覺得很怒。這集故事到這邊收了尾,看起來還有續集。

North pole

早上看到 IG 有人分享照片,看到 North pole, Alaska ,心裡有點納悶,North pole 不是北極的意思嗎?怎麼又有阿拉斯加?阿拉斯加本來就是在北極啊?上網找了以後,才知道 North pole 指的是阿拉斯加的一個小城,人口約兩千多人,位於育空河上游支流。那兒主要的景點就是聖誕老人村跟 Chen Lakes Recreation area,聖誕老人村就顧名思義,借北極跟聖誕老人的名字讓小朋友可以寄信過來,也有販賣聖誕飾品、禮品這樣。Chen Lakes Recreation area 除了湖景漂亮之外,夏天 7/4 會在那邊辦 North Pole Summer Festival,大伙可以去那邊野餐、游泳、露營等等。看起來是挺不錯的呢,人不會太多,就是溫度低了點。夏天月均溫有超過 20 度,但冬天的月均溫就都在零度以下了。不過照片裡的山景,我就沒找到是在那邊了,附近沒什麼有名的山,應該是類似小百岳,只有當地人才知道的點。

想一想,以後每天可以找一個地方來認識一下,然後把找到的資料寫下來,當作是休閒、放鬆的娛樂,應該挺不錯的。

處理 AsusWRT-Merlin DNS 查找慢的問題

年初的時候有處理過,那時候感覺還沒這麼慢,最近這一兩個月,慢的感覺愈來愈明顯,看來不處理是不行了。

先進行觀察,通常是第一次查找時會特別慢,之後就會比較順暢。

回想年初的設定是讓 AsusWRT-Merlin 當作是主要 DNS,也有 Cache,當查找不到時才去外面找。那麼,看樣子就是外面的 DNS 伺服器太慢了,導致第一次查找慢。

從網頁管理介面找不到什麼設定可以調整,想到的解決方法是直接用 SSH 連進去改,於是就找到這篇:Asuswrt-merlin 自定義 dnsmasq 解析 │ 坂本 Sakamoto.blog – 探究科技未知領域

步驟如下:

  1. 點選左側的 Administration > System (系統管理 > 系統設定)
    1. Format JFES partiton at next boot -> No
    2. Enable JFFS custom scripts and configs -> Yes
    3. Enable SSH -> LAN only
    4. 把 ~/.ssh/id_rsa.pub 裡的內容複製起來,然後貼到「授權金鑰」欄裡。
  2. 選擇下方的套用
  3. LAN > DNSFilter
    1. Enable DNS-based Filtering 改為 OFF
  4. LAN > DHCP Server
    1. Advertise routers IP in addition to user specified DNS -> Yes
  5. 用 SSH 連線進去,使用者名稱是你登入 web 管理介面用的使用者名稱,例如:ssh root@192.168.1.1
  6. 附加 dnsmasq 設定
    1. touch /jffs/configs/dnsmasq.conf.add
    2. 填入 server=8.8.8.8 (若有多個,記得換行)
    3. 填入 min-cache-ttl=600 ,確保 cache 最少保留 600 秒 (10分鐘)
    4. 填入 max-cache-ttl=1800,確保 cache 最多就保留 1800 秒 (30分鐘)
  7. 加入 dnsmasq 事後設定腳本,這主要是把原有的 servers-file 拿掉。
    1. touch /jffs/scripts/dnsmasq.postconf
    2. 腳本內容請參考後面的腳本
    3. chmod +x /jffs/scripts/dnsmasq.postconf
  8. 重新啟動

經過這樣的設定之後,再來做測試,情況的確比之前好多了,繼續來觀察看看。

dnsmasq 事後設定腳本

#!/bin/sh
# /jffs/scripts/dnsmasq.postconf
CONFIG=$1
source /usr/sbin/helper.sh
pc_delete "servers-file=/tmp/resolv.dnsmasq" $CONFIG

其他參考資料

電影流水帳(2020/09/01~2020/09/15)

Alexandra Shipp

Flipped

這部電影的故事很純真,單純就在講一對少年少女的故事。但拍攝的手法很有趣,先以少年視角來講故事,講到一個段落以後,再用女方的視角來講故事,所以你可以分別從兩人的視角得知兩人對同樣一件事情的看法,也可以了解他們在想些什麼跟為什麼這樣做。這樣的拍攝手法讓我想一直看下去,到了最後,我的確也因此看完了。

這一天,Bryce 搬到了小鎮裡,他第一個遇見的女孩就是 Julianna ,他覺得這女孩怪怪的,一直想靠近他。也因為覺得女孩怪怪的,從這之後就對 Julianna 保持距離。而 Julianna 則是見到 Bryce ,就覺得他眼睛好漂亮,認為自己已經找到對的人了,就很積極的接近他去製造機會。故事就這樣展開,然後講到 Julianna 的叔叔,講到 Bryce 的爸爸不得志,講到兩個家庭的過去與現在,慢慢的講述著兩人的點點滴滴。講到最後,Bryce 改變了對 Julianna 的想法,發現自己愛上她了。Julianna 也原諒了 Bryce 之前的錯事,接受了 Bryce 的道歉,兩人最終走到一起。

Jexi

這是一部喜劇故事,故事是在諷刺現代人離不開手機。

Phil 是個生活沉悶的人,也不願意交朋友。某天 Phil 因為手機壞了,去買了新手機,可是在開機以後,發現這手機的語音助理 Jexi 出乎意料的…失控,於是就開始了 Phil 與 Jexi 在一起的有趣生活。 這段日子裡,Phil 因為手機的語音助理而找到女友、交了朋友,進而改變了自己的生活,最終也有了好的結果。

故事挺有笑點的,也值得讓人深思自己的生活是否被什麼困住而一成不變。

電影流水帳(2020/08/16~2020/08/31)

Helen Mirren photo
Helen Mirren

Anna

Anna 雙親死了,她也因此退學,只能投靠一個吸毒、偷錢的人,跟著過生活。但她不願意繼續這樣下去,所以堅持著唸書,報考了學校。只是生活並非想的那麼容易,這天,她投靠的這個男人帶著她跟朋友去做了壞事,她跟這男人僥倖逃回家,本來打算收拾一下東西就要走了,可是房子裡出現了一個男人 Alex,他簡短地對 Anna 說明狀況以後,殺了那男人,並要她加入 KGB,並答應她在五年後會獲得自由。Anna 本來不願意,還割了腕,但在 Alex 的勸說下,仍答應了,她覺得有機會可以改變命運。

Anna 加入 KGB 受訓,並且讓 Alex 的主管 Olga 認可,開始出任務。Anna 做的非常稱職,在出了幾次任務後,見了 Olga 的主管,也就是 KGB 頭頭 – Vassiliev,Vassiliev 說,「五年後脫離?不可能,你要認同國家繼續效勞」。本以為五年後可以脫離的 Anna 覺得,沒機會獲得自由了。但沒多久之後,Anna 接觸了 CIA 的 Lenny ,Lenny 要脅 Anna 加入幫忙,否則就指控 Anna 殺人,Anna 想了想,覺得是個好機會,就答應了 Lenny,於是 Anna 成了雙面間諜。到後來,CIA 要求 Anna 去殺害 KGB 頭頭 Vassiliev ,並答應她,這次任務結束,就還你自由。Anna 評估之後,覺得要得到自由,得放膽一試,就答應了。

Anna 回到莫斯科 KGB 總部後,就依照 CIA 的安排,進去殺了 Vassiliev,經過一番廝殺,逃離了 KGB 總部。本來要在外頭接應的 Lenny 沒能接到 Anna ,只好離開。經過一陣子後,擔心 Anna 的 Lenny 接到 Anna 電話,說約在公園見面。Lenny 到了公園以後,發現 KGB 的 Alex 也在那邊,公園裡也有 KGB 的人。Lenny 跟 Alex 本來要打起來的了,但 Anna 出現,說明情況,並以情報交換了自己的自由。兩人勉強的答應了 Anna ,表示在往後這六個月內不會去追找 Anna。Anna 就此離開,但才離開沒多久,氣急敗壞的 Olga 出現在 Anna 身後,殺了 Anna。

Lenny 跟 Alex 都急著去探看 Anna 情況,但兩方人馬拿槍相指,一時間劍拔弩張,也沒辦法趕過去。在兩方人馬慢慢撤退後,才趕緊去看監視器,看 Anna 的情況如何。Anna 看起來是死了,只是真的就這樣嗎?這時才帶出另外一段前因,原來 Olga 早在 Anna 被 CIA 吸收後,就知道了,她要 Anna 持續回報 CIA 的計劃。後來 CIA 下達指令要殺 Vassiliev 後,她利用這點,允許 Anna 動手,並且趁這機會取得上位。Olga 也答允 Anna,這次事成後真的會讓你自由。前面有提到 Olga 殺了 Anna ,那也是安排好的。Anna 沒事,早就用假屍體替換,人已經脫身。

Olga 順利接掌 KGB 大位,在開啟電腦後,看到 Anna 留下的影片,知道自己有把柄在 Anna 手上,只能刪掉 Anna 在 KGB 電腦裡的檔案,這才真正的還了 Anna 自由。

我最喜歡的也最佩服 Helen Mirren 的一幕戲,就是 Olga 最後看完影片,笑笑地罵了 Bitch 的那一幕,那種帶笑的狠勁,真的是演的很棒。Anna 這部電影在刻畫女主角為什麼要追求自由的事情上有點不太足夠,但是不管是動作、或是懸疑上都算不錯,還蠻值得一看的。

Bloodshot

這片就是動作爽片,可是後面的故事有轉折,為故事帶來可看性。

Ray 醒來,在 KT 跟 Dr. Harting 告知之後,知道自己被救活並增強了能力。然後 Ray 開始慢慢回想起自己為什麼被殺掉,就開始不聽 Dr. Harting 命令,透過連結在自己身上的電腦幫忙,出門去找仇人了。當然,看到仇人就是一場殺戮,把仇人殲滅,旋即 Ray 又陷入昏迷。

Ray 又再次醒來,在 KT 跟 Dr. Harting 告知之後,知道自己被救活並增強了能力…等等,又重來了?對,原來 Ray 腦袋裡的記憶是被植入的,在每次甦醒前都會被 Dr. Harting 下令編寫自己被殺的故事情節跟仇人長相,每次要殺的對象都不一樣,所以仇人長相也都不一樣。在旁的 KT 很不忍,但也無可奈何。直到了要殺 Wilfred 的時候,Wilfred 是個駭客,透過他的幫忙,Ray 找回真正的記憶,並且有機會擺脫 Dr. Harting。最後 Ray 跟 KT / Wilfred 合作,利用血衛的能力消滅了 Dr. Harting,重獲新生。

電影流水帳(2020/08/01~2020/08/15)

ENOLA HOLMES
Millie Bobby Brown,飾演哥吉拉2-怪獸之王裡的 Madison
  • Godzilla: King of the Monsters (IMDB, Wikipedia),台譯:哥吉拉2-怪獸之王。
  • The Watch (IMDB, Wikipedia),台譯:巡邏驚很大。

Godzilla: King of the Monsters

經過上次哥吉拉事件後,轉眼經過5年,巨大的怪獸被大家知道了。這集的關鍵角色有三,其一是 Emma 跟她女兒 Madison,其二是芹澤博士,其三是 Mark。

  • Emma 發明了 ORCA,可以用音波控制泰坦巨獸,後來跟生態恐怖團體四處喚醒巨獸,想要讓地球回復平衡。
  • Madison 不希望母親 Emma 這樣做,所以後來偷走了 ORCA 。
  • 芹澤博士持續相信著哥吉拉是為了保護人類而存在,在哥吉拉被0號怪獸-基多拉打敗後,透過摩斯拉幫忙,找到進入冬眠的哥吉拉,並自我犧牲,以核彈幫助哥吉拉復甦。
  • Mark 因為孩子的事情跟 Emma 離婚,但為了要找回 Emma ,而回來幫忙找人。

最後,哥吉拉與基多拉再次大戰,並且戰勝,本來臣服於基多拉的巨獸們也改為臣服哥吉拉,並且回歸棲息地。Monarch 公佈了巨獸的資料,顯示巨獸並非破壞,而是協助環境復甦的關鍵。

這集眾多巨獸的出現等同是火力展示,戰鬥畫面看起來真的爽度很高。

The Watch


趁著 Netflix 快下檔,趕緊看完。

Evan 是 Costco 的店經理,熱心助人,待員工也很好。某天晚上員工死在 Costco 店裡,警察調查以後,懷疑是 Evan 幹的。Evan 想找出凶手洗刷嫌疑,於是打算成立社區巡邏隊。在招募巡邏隊成員時並不順利,大家都不太樂意,後來只有三名成員加入。四人相互認識、寒喧以後,就開始進行巡邏了。除了 Evan 以外的三人,每個人都有各自加入的理由,Bob 只是想來交朋友,Franklin 來加入是因為之前去應徵警察失敗,而 Jamarcus 則是因為好玩。經過幾次巡邏下來,慢慢的大家都發現社區的確有事,這個事情還蠻大條,是外星人。而且更想不到的是,Jamarcus 就是外星人,他透露了自己的同夥想要佔領地球的事情,大家問他那你怎麼沒加入他們,Jamarcus 說,我覺得這星球很有意思,留下來才好玩,所以我不加入。接下來巡邏隊得知外星人計劃,也知道外星人基地在 Costco 後,前往阻止。經過一番交戰,終於消滅了壞的外星人。

電影流水帳(2020/07/16~2020/07/31)

Naomi Scott
Naomi Scott, Charlie’s Angels 跟 Aladdin 的女主角

Charlie’s Angels

重開機的版本,一樣是三個女生的冒險故事,但故事不一樣了。整體來說,有延續到之前的風格,蠻有娛樂性的,有打鬥、有懸疑,適合打發時間。

有家能源公司製作了節能裝置,在裡面的員工 Elena 密告說這裝置有問題,Charlie’s angel 受託去保護跟處理,豈料裝置卻被另外一個人搶走。Charlie’s Angel 就帶著 Elena 去追查事件的經過,經過一番的調查,才發現原來是第一任的 John Bosley 退休了,退的不太甘願,策劃了整件事情。最後 Charlie’s angel 就合力把狀況處理掉,同時也收了一個新人 Elena。

Aladdin

一樣是重開機的版本,但改用真人,故事跟之前的動畫版本沒什麼太大差別,蠻好看的。最後的歌舞應該是摹仿印度的歌舞片,我很喜歡這種唱歌、跳舞的片段,因為讓電影變得活潑。

阿拉丁是個小偷,意外遇到私下出訪的茉莉公主,兩人相遇,爆出了小小的愛火。只是,阿拉丁的猴子壞了好事,偷了公主身上的首飾,讓兩人產生誤會。阿拉丁為了化解誤會,偷偷進入皇宮私會茉莉公主,並把首飾送回去。阿拉丁正打算離開皇宮,在路上卻被賈方大臣逮住,要阿拉丁幫他拿個東西。阿拉丁不得已只能答應。於是賈方帶阿拉丁去了遠方隱密的洞穴,進入洞穴前,殷殷告誡阿拉丁,除了那個平淡無奇的油燈,其他金銀財寶都不要亂碰。阿拉丁進去了,沒多久就拿到油燈,只是阿拉丁的猴子聽不懂人話,惡習不改,拿了金銀財寶。霎那之間,整個洞穴開始振動,阿拉丁趕忙帶著猴子跟油燈出去。只是在洞口前卻被賈方擺了一道,阿拉丁沒能出去,可是賈方也沒拿到油燈,洞穴就這樣關閉了。

在黑暗中,阿拉丁挺無奈的,原本以為只是一件小事,卻演變成這樣。在地下的洞穴裡,又是晚上,實在是很冷,阿拉丁搓搓手,無意之中摩擦了油燈,這時從神燈裡出現了一個精靈。阿拉丁大吃一驚,搞不清楚狀況。神燈精靈眼看阿拉丁搞不清楚,就載歌載舞地跟他說明。「每個人都可以跟我許三個願望,我都會幫他完成。」神燈精靈最後這樣跟阿拉丁說著。阿拉丁想了想,在這個當下,出去是當務之急。於是小小的耍了一點技巧,讓神燈精靈自願地帶他們出去洞穴,沒用到願望。

出去以後,阿拉丁跟神燈精靈討論願望,決定把自己變成王子,這樣就可以門當戶對地去見公主了。神燈精靈施展魔力,將阿拉丁變成了王子,猴子變成大象,還變出一堆隨從,於是,一行人就浩浩蕩蕩進皇宮去見公主了。在皇宮裡,阿拉丁卻因為自己的不適應,給了公主壞印象。經過好一番功夫,才跟公主講清楚。這時公主因為父親的命令,得違反自己意願嫁到國外去,來換取國家與鄰近地區的和平。公主很不願意,但又無可奈何,不知道如何是好。賈方則是看出了這個王子就是阿拉丁,阿拉丁變成王子,一定是神燈精靈幫的忙,他決定去搶阿拉丁的神燈,來完成他的篡位夢想。

賈方很快就趁著王子不在時進行搶奪,接著就命令神燈精靈聽他的話,進行篡位,並要求精靈把王子送到遙遠的地方。精靈因為已經跟阿拉丁成為好友,偷偷的把會飛的魔毯也一起送去。而國王跟公主則被禁錮起來,無法反抗。沒多久,阿拉丁就乘著魔毯回來跟賈方爭奪神燈。可是賈方畢竟原本就有魔力,阿拉丁實在是打不過賈方。就在這時,阿拉丁利用賈方對權力的慾望,說服了賈方許一個把自己變成神燈精靈的願望。於是,賈方變成了魔力高強的神燈精靈,但,也同時被神燈禁錮。神燈精靈將賈方的神燈丟到遠方,賈方再也不能作怪了。阿拉丁這時許了最後一個願望,讓神燈精靈不再受到神燈禁錮,重新變為人。最後,茉莉公主當了女王,阿拉丁當了女王的丈夫,神燈精靈跟公主的女僕出外航行,故事快樂的結束。