App 自動化測試(二)Docker 安裝與使用

更新於 發佈於 閱讀時間約 8 分鐘

前言

前篇把 Ubuntu 作業系統的安裝跟準備談完了,有需要可以跳回去看。接下來聊容器服務 Docker 的安裝與使用。

Docker 可以應用的場合很多,這次是會用它來模擬 Android 受測裝置,當然可以作為待測物的服務很多,像是 Android Studio 的 EVD等,不過考量效能還是以 Docker 化的 ReDroid 為主。

Docker 安裝

Ubuntu 因為有優異的套件管理,安裝相對簡單,參考官網說明依樣畫葫蘆就好:
Install Docker Engine on Ubuntu | Docker Documentation

1. 假如有先移除舊版本

sudo apt-get remove docker docker-engine docker.io containerd runc

2. 更新 APT 服務,讓他支援 HTTPS 加密傳輸

sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg

3. 加入 Docker 官方的解密 KEY

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

4. 新增 Docker 的套件來源

echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 更新套件資料庫

sudo apt-get update

6. 安裝最新版本

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

7. 驗證 Docker 運作是否正常

sudo docker run hello-world
...
Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/

Docker 基本操作

Docker 功能眾多,有需要請翻閱官方文件,以下僅對於常用部分做說明。

察看容器運作狀態

基本語法

sudo docker ps

全部顯示容器包含停止狀態的,就加 -a

sudo docker ps -a

容器的狀態與管理

raw-image

容器狀態大致可以用上圖表示

獲得容器ID

首先要獲得容器的ID,在創建或者執行後,就能用 PS 指令看到

$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b964347efaf9 redroid/redroid:11.0.0-latest "/init qemu=1 androi…" 13 hours ago Up 12 hours 0.0.0.0:5555->5555/tcp, :::5555->5555/tcp redroid11

其中的 b964347efaf9 就是容器ID

啟動停止重啟容器

啟動容器

sudo docker start [容器ID]

停止容器

sudo docker stop [容器ID]

重啟容器

sudo docker restart [容器ID]

替容器取名字

sudo docker rename [容器ID] [容器新名字]

之後就能用新名字來對容器下啟動、停止等指令了

清除容器服務的資料

參考來源:如何删除所有 Docker 镜像——Docker 清理指南 (freecodecamp.org)

察看目前資料佔用空間

sudo docker system df

察看佔用空間詳細版

sudo docker system df -v

系統等級的清理

sudo docker system prune -a

系統等級的清理但保留有下標籤的

sudo docker system prune

小結

本篇講了如何在 Ubuntu 中安裝 Docker 跟一些基本的操作指令。

下一篇就會進入 ReDroid 虛擬機的安裝了。





留言
avatar-img
留言分享你的想法!
avatar-img
Scott Hsiao的沙龍
10會員
17內容數
記錄分享如何做軟體自動測試
Scott Hsiao的沙龍的其他內容
2023/05/24
前言 上篇把定位講完,不過實務上很少真的用手刻,大多用錄製或者軟體輔助,先講XPATH主要是讓大家有個底,就像最近的AI風一樣,好玩是一回事,做出來的東西還是要人看得懂知道哪裡可能有問題。 這篇就會著重介紹如何錄製腳本並轉換成可以執行的程式。
Thumbnail
2023/05/24
前言 上篇把定位講完,不過實務上很少真的用手刻,大多用錄製或者軟體輔助,先講XPATH主要是讓大家有個底,就像最近的AI風一樣,好玩是一回事,做出來的東西還是要人看得懂知道哪裡可能有問題。 這篇就會著重介紹如何錄製腳本並轉換成可以執行的程式。
Thumbnail
2023/05/12
前言 前八篇把各個環節分段介紹,接下來就是學以致用的時候,本篇會用自己的 App 做一系列的測試。
2023/05/12
前言 前八篇把各個環節分段介紹,接下來就是學以致用的時候,本篇會用自己的 App 做一系列的測試。
2023/05/12
前言 基本準備差不多了,也能跑自己的測試,再來就是關於測試腳本的核心:元素定位跟動作,本篇會著重介紹 XPATH 定位的部分
2023/05/12
前言 基本準備差不多了,也能跑自己的測試,再來就是關於測試腳本的核心:元素定位跟動作,本篇會著重介紹 XPATH 定位的部分
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
前言 上次我們講到 Docker 的功用與好處,今天我們要在講解,如何安裝 Docker 這個容器,讓我們在之後的教學應用更好的實作與練習,現在讓我們開始吧 Docker Engine 與 Docker Desktop 首先在講解怎麼安裝 Docker 時,我們先講解 Docker Engin
Thumbnail
前言 上次我們講到 Docker 的功用與好處,今天我們要在講解,如何安裝 Docker 這個容器,讓我們在之後的教學應用更好的實作與練習,現在讓我們開始吧 Docker Engine 與 Docker Desktop 首先在講解怎麼安裝 Docker 時,我們先講解 Docker Engin
Thumbnail
上篇我們在安裝 VirtualBox 練習使用虛擬化切割出獨立空間做開發,那除了使用 VM 達到虛擬化外,另一個輕量級的虛擬化技術 - 容器化。 要使用容器,那就不能不認識 Docker
Thumbnail
上篇我們在安裝 VirtualBox 練習使用虛擬化切割出獨立空間做開發,那除了使用 VM 達到虛擬化外,另一個輕量級的虛擬化技術 - 容器化。 要使用容器,那就不能不認識 Docker
Thumbnail
前言 前篇把 Ubuntu 作業系統的安裝跟準備談完了,有需要可以跳回去看。接下來聊容器服務 Docker 的安裝與使用。 Docker 可以應用的場合很多,這次是會用它來模擬 Android 受測裝置
Thumbnail
前言 前篇把 Ubuntu 作業系統的安裝跟準備談完了,有需要可以跳回去看。接下來聊容器服務 Docker 的安裝與使用。 Docker 可以應用的場合很多,這次是會用它來模擬 Android 受測裝置
Thumbnail
簡介 因常會在新機器跑container,藉此紀錄安裝過程,順便寫下腳本安裝懶人包 安裝docker 檢查系統中是否已經安裝了docker 執行:ps -ef |grep docker 如上圖所示,說明系統中並沒有安裝docker 添加docker-ce倉庫 安裝yum倉庫管理工具 配置docker
Thumbnail
簡介 因常會在新機器跑container,藉此紀錄安裝過程,順便寫下腳本安裝懶人包 安裝docker 檢查系統中是否已經安裝了docker 執行:ps -ef |grep docker 如上圖所示,說明系統中並沒有安裝docker 添加docker-ce倉庫 安裝yum倉庫管理工具 配置docker
Thumbnail
探索如何使用 OneDev 在本機快速架設 Git Server。本文詳細介紹了安裝 OneDev 和 Docker 的步驟,並提供了實用的圖片和說明,幫助你輕鬆在本機建立和管理 Git Server。
Thumbnail
探索如何使用 OneDev 在本機快速架設 Git Server。本文詳細介紹了安裝 OneDev 和 Docker 的步驟,並提供了實用的圖片和說明,幫助你輕鬆在本機建立和管理 Git Server。
Thumbnail
進入官方網站,根據自己電腦的作業系統,選擇適合的安裝檔。 切記,注意一下基本的配備要求
Thumbnail
進入官方網站,根據自己電腦的作業系統,選擇適合的安裝檔。 切記,注意一下基本的配備要求
Thumbnail
程式設計師難免會遇到要自已架環境的時候,但是遇到問題時,總不能一直安裝、刪除,這時候可以用docker,先記錄一下安裝與指令 這裡使用Docker Desktop,當然也可以使用command line輸入就好 照上列網址下載之後,並且安裝完成 就可以使用command line 開始操作 如果覺得
Thumbnail
程式設計師難免會遇到要自已架環境的時候,但是遇到問題時,總不能一直安裝、刪除,這時候可以用docker,先記錄一下安裝與指令 這裡使用Docker Desktop,當然也可以使用command line輸入就好 照上列網址下載之後,並且安裝完成 就可以使用command line 開始操作 如果覺得
Thumbnail
章節 我為什麼要用 Docker? Docker 的初步認識。(本篇文章) Docker Hello World。 Docker Services。 Docker Swarm。 Docker Stack。 Docker 的官方文件就列出下圖來說明 Docker 是什麼?
Thumbnail
章節 我為什麼要用 Docker? Docker 的初步認識。(本篇文章) Docker Hello World。 Docker Services。 Docker Swarm。 Docker Stack。 Docker 的官方文件就列出下圖來說明 Docker 是什麼?
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News