官术网_书友最值得收藏!

1.9.2 安裝Docker

可以通過兩種方法安裝Docker:通過Ubuntu倉庫;使用Docker官方倉庫。

·如果讀者只是想要快捷安裝Docker,則可以選擇從Ubuntu倉庫安裝,因為只需執行一行命令,并且能夠節省一些時間;

·如果讀者想要較為深入地了解Docker,而不是僅僅通過本書的概述來了解,則推薦通過Docker的官方倉庫安裝,因為其版本更加穩定,有相應bug的修復,還有一些新的特性。

在進行安裝之前,請執行以下命令來對apt包索引進行更新:$sudo apt-get update

1.從Ubuntu倉庫安裝Docker

從Ubuntu倉庫安裝Docker只需執行以下命令:

在通過上述方法安裝Docker之后,如果讀者想要移除Docker,或者想要體驗從Docker官方倉庫進行安裝的過程,則可以通過下面的方法將已經安裝的Docker移除。

2.移除Docker

如果讀者想要用最新的穩定版Docker替換已經安裝的舊版本,則可以使用以下命令移除已安裝的Docker,移除之后,即可從Docker官方倉庫安裝最新的Docker。移除的命令如下:

上述命令是移除Docker的通用命令,將移除Docker、docker-engine、docker.io(這些是舊版本的名稱),如果有運行時容器的話,也會一同移除。

3.從Docker倉庫安裝

從Docker倉庫安裝的步驟如下:

1)執行以下命令:

2)添加源自Docker的官方GPG密鑰:

3)執行以下命令來配置Docker官方倉庫:

官方Docker提供了三個更新通道,分別是穩定通道、夜間通道以及測試通道。測試通道提供用于可用性測試的預發行版,夜間通道是正在開發中的版本或beta版本,穩定通道是已修復bug的最終確定版本。Docker團隊的最佳建議是穩定通道;但是,感興趣的讀者可以通過將stable替換為nightly或test來測試其他兩個通道。

4)再次更新apt包索引:

5)使用以下命令安裝Docker包:

6)使用上述兩種方法中的任意一種完成Docker的安裝后,均可以使用以下命令查看Docker的版本:

當前Ubuntu倉庫中的最新版本為17.12,Docker官方倉庫的最新版本則是18.09(穩定版)。

默認情況下,Docker只能作為根用戶運行。為便于運行,讀者可以使用以下命令將自己的用戶名添加到Docker組:

為了使得設置生效,需要重啟系統,否則可能會遇到“permission denied”(權限拒絕)錯誤,如圖1.19所示。

圖1.19 權限拒絕錯誤

上述錯誤的一個快速修復方法是在任何Docker命令之前使用sudo。

4.使用Docker

容器由Docker鏡像構建,這些鏡像可以從Docker Hub(https://hub.docker.com/)中提取。我們可以使用以下命令從ros倉庫中提取ROS容器:

如果命令運行無誤,將得到如圖1.20所示的輸出。

圖1.20 成功提取Docker

讀者可以指定特定的ROS版本來工作。對于任何應用程序,最好的建議是從melodic-core開始,因為在這里可以繼續工作并更新與項目目標相關的容器,而不必安裝其他不必要的組件。讀者可以使用以下命令查看Docker鏡像:

默認情況下,所有的容器均保存在/var/lib/docker目錄下。使用前面的命令,可以標識倉庫名稱和標記。在本書的例子中,對于ros倉庫名稱,相應的標記是melodic-ros-core。因此,可以使用以下命令運行ros容器:

$docker images命令提供的其他信息是容器ID,在本書的例子中是7c5d1e1e5096。當讀者想移除容器時,將會用到該ID信息。進入Docker后,可以使用以下命令檢查可用的ROS功能包:

運行和退出Docker時,將會創建另一個容器,因此對于初學者來說,經常會在不知不覺中創建一系列容器。讀者可以使用$docker ps-a或$docker ps-l查看所有活動/非活動的容器或最新的容器,并使用$docker rm<docker_name>刪除容器。要繼續在同一容器中工作,可以使用以下命令:

這里,silly_volhard是所創建容器的默認名稱。

現在,你打開了同一容器,則可以安裝ROS功能包并將相應的更改提交給Docker。使用下面的命令安裝actionlib_tutorials功能包:

現在,當再次檢查ROS功能包列表時,將能夠查看到一些額外的功能包。由于你已經修改了容器(安裝了上述功能包),所以在重新打開Docker鏡像時需要提交修改。使用以下命令退出容器并提交修改:

現在我們已經在Ubuntu和VirtualBox上安裝了ROS,下面讓我們學習如何設置ROS工作空間。

主站蜘蛛池模板: 余干县| 普安县| 克山县| 台南县| 错那县| 历史| 内乡县| 泾阳县| 寿光市| 波密县| 康马县| 六盘水市| 客服| 景东| 连山| 绥中县| 巴林左旗| 盘锦市| 库伦旗| 乐东| 马关县| 镇原县| 汶川县| 宽甸| 永寿县| 莱阳市| 芮城县| 泽库县| 滦南县| 阳朔县| 如东县| 清河县| 花垣县| 清河县| 永新县| 岑巩县| 金山区| 汉源县| 安陆市| 金塔县| 安国市|