VirtualBox下Docker安裝和基本使用
- 操作環境
- VirtualBox下安裝centos鏡像
- Docker的安裝與鏡像源優化
- docker安裝
- 鏡像源優化-阿里源
- Docker的基本使用
- 下載并啟動第一個鏡像
- busybox鏡像的下載與使用
- docker配置apache服務
操作環境
(1)主機:window10家庭中文版
(2)虛擬機:Oracle VirtualBox、centos8鏡像(最小化安裝)
(3)Docker 開源免費 CE(Community Edition)版
VirtualBox下安裝centos鏡像
(1)啟動VirtualBox,新建一個虛擬機

(2)設定虛擬機CPU核數占主機的一半,記憶體占主機的一半,(本機測驗環境為8192MB記憶體,4核)

(3)設定虛擬機硬碟40GB,接入默認NAT網路,

(4)在光驅中添加實作安裝好的centos8.2鏡像
附centos下載地址:https://www.centos.org/download/

(5)啟動虛擬機,根據提示安裝centos8.2作業系統,設定用戶為 cloud,密碼為 cloud,root用戶密碼為 cloud,網卡IP地址默認為10.0.2.15


(6)centos8.2安裝成功后,重啟虛擬機(注意要先從光驅中移除centos8.2鏡像再重啟,否則會一直處于安裝)
Docker的安裝與鏡像源優化
docker安裝
1.Docker官方提供了三種在Centos上安裝的方式
(1)Install using the repository(使用存盤庫安裝)
(2)Install from a package (使用rpm包安裝)
(3)Install using the convenience script(使用便捷腳本安裝)
為了簡化安裝和升級程序,對小白更加友好,這里我們選擇第一種安裝方式,
2.安裝程序
(1)卸載舊版本及其依賴
$ yum remove docker docker-client docker-client-latest docker-common docker-latest \
docker-latest-logrotate docker-logrotate docker-engine
(2)安裝必須的軟體包
$ yum install -y yum-utils device-mapper-persistent-data lvm2
(3)設定穩定的存盤庫
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(4)啟用nightly存盤庫并啟用測驗通道(可選操作)
$ yum-config-manager --enable docker-ce-nightly
$ yum-config-manager --enable docker-ce-test
(5)安裝最新版本的Docker Engine和容器
$ yum install -y docker-ce docker-ce-cli containerd.io
(6)啟動Docker引擎
$ systemctl start docker
鏡像源優化-阿里源
Docker Hub在國外,下載鏡像比較慢,aliyun等提供了免費的國內鏡像服務
(1)進入cr.console.aliyun.com
(2)注冊一個賬號并登錄
(3)點擊左側選單“鏡像加速器”,復制如下內容

(4)修改daemon組態檔
$ cd /etc/docker/ //進入daemon.json檔案目錄
$ vi daemon.json
在daemon.json檔案中添加鏡像加速器中提供的地址
$ systemctl restart docker//重新啟動docker
Docker的基本使用
下載并啟動第一個鏡像
通過訪問 hub.docker.com可以查看鏡像串列以及各鏡像的使用手冊
(1)最小的鏡像:
$ docker pull hello-world
$ docker images
$ docker run hello-world

(2)從docker hub 拉取一個感興趣的軟體
$ docker pull nginx //從docker hub pull nginx
$ docker images //查看鏡像串列
$ docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx //啟動nginx,將容器命名為some-nginx,并系結一個卷
$ docker ps -a //查看全部容器(包括未運行的)
$ docker ps //查看運行中的容器
busybox鏡像的下載與使用
busybox是一個聚成了一百多個最常用linux命令和工具的軟體工具箱,它在單一的可執行檔案中提供了精簡的Unix工具集,BusyBox可運行于多款POSIX環境的作業系統中,如 Linux(包括Android),hurd,freebsa等
busybox既包含了一些簡單實用工具,如cat 和 echo ,也包含了一些更大,更復雜的工具,如 grep ,find ,mount 以及telnet.
$ docker pull busybox //從docker hub pull busybox
$ docker run -it busybox sh //以互動式方式啟動busybox容器
ping -c sohu.com 10 //在容器內ping搜狐,測驗網路連通性
docker配置apache服務
(1)從docker hub 下載httpd鏡像
$ docker pull httpd //從docker hub pull httpd
(2)啟動httpd容器 ,以后臺方式運行,同時提供埠映射,
$ docker run -d -p 8020:80 httpd//以后臺方式運行容器,將宿主機8020埠與docker 80埠建立映射,
$ docker ps -a
(3)curl驗證docker內對外web服務是否正常
$ curl 127.0.0.1:8020
$ curl 10.0.2.15:8020
(4)設定virtual box網路實作本機瀏覽器外部訪問docker內web服務
方法一:在虛擬機管理面板,找到設定,選擇網路,網路型別選擇網路地址轉換NAT,點擊高級,點擊埠轉發配置主機到虛擬機埠映射,將本機8020埠與虛擬機8020埠建立映射

外部網路訪問docker內web服務時,通過virtualbox埠映射將主機8020埠與宿主機8020建立映射,資料報從8020埠轉發,因為創建httpd容器時建立宿主機到docker的埠映射,故docker-proxy 監聽宿主機的 8020埠,當有資料報轉發時,docker-proxy 轉發給容器 ,httpd 容器回應請求并回傳結果,

方法二:修改virtualbox網路模式為橋接網路,橋接網路模式下VM通過宿主機網卡,建立網橋接入外部網路,VM 與 Host 可相互訪問,VM 與外部網路可相互訪問,VM 之間可相互訪問,宿主機地址與主機在同一個網段,
(5)修改容器內部檔案index.html內容,
1)進入容器內部,切換到htdocs檔案目錄下
$ docker exec -it eager_baibt bash //進入容器內部
$ cd htdocs//切換目錄
2)通過vi編輯器修改index.html檔案內容
$ apt-get update
$ apt-get install vim//由于容器內缺少vim,利用yum命令下載vim軟體包
$ vi index.html
(6)容器持久化存盤
1)在/home下創建目錄;
$ cd /home
$ mkdir test
$ cd test
$ vi index.html //新建index.html檔案,修改內容
2)運行httpd服務容器,并把web發布目錄映射為該目錄,
$ docker run -dit --name web -p 8020:80 -v /home/lly/:/usr/local/apache2/htdocs/ httpd
3)利用curl驗證容器持久化存盤建設成功,
(7)停止容器并徹底清除已停止的容器
docker stop xxx //停止某些容器
docker rm -v $(docker ps -aq -f status=exited)//清除全部容器
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/225450.html
標籤:其他
上一篇:ECS阿里云服務器搭建國產GBase 8a MPP Cluster 資料庫集群(解決同地域不同賬號、不同網段的互通問題)
下一篇:Nginx反向代理
