目錄
- 一. Docker簡介
- 1.基本組成架構
- 鏡像(images)
- 容器(Container)
- 倉庫(Repository)
- 2.Centos7下Docker的安裝
- 3.Centos8下Docker的安裝
- 4.鏡像的基本命令
- 5.容器的基本命令
- 場景一:Docker安裝Mysql創建并啟動
- 場景二:Docker安裝Redis創建并啟動
- 場景三:Docker安裝Ngnix創建并啟動
一. Docker簡介
Docker 是一個開源的應用容器引擎,Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上,同時,Docker也是一種新興的虛擬化技術,能夠一定程度上的代替傳統虛擬機,
1.基本組成架構

鏡像(images)
從認識上簡單的來說,就是面向物件中的類,相當于一個模板,從本質上來說,鏡像相當于一個檔案系統,Docker 鏡像是一個特殊的檔案系統,除了提供容器運行時所需的程式、庫、資源、配置等檔案外,還包含了一些為運行時準備的一些配置引數(如匿名卷、環境變數、用戶等),鏡像不包含任何動態資料,其內容在構建之后也不會被改變,
容器(Container)
容器,從認識上來說,就是類創建的實體,就是依據鏡像這個模板創建出來的物體,容器的實質是行程,但與直接在宿主執行的行程不同,容器行程運行于屬于自己的獨立的命名空間,因此容器可以擁有自己的root 檔案系統、自己的網路配置、自己的行程空間,甚至自己的用戶ID 空間,容器內的行程是運行在一個隔離的環境里,使用起來,就好像是在一個獨立于宿主的系統下操作一樣,這種特性使得容器封裝的應用比直接在宿主運行更加安全,
倉庫(Repository)
倉庫,從認識上來說,就好像軟體包上傳下載站,有各種軟體的不同版本被上傳供用戶下載,鏡像構建完成后,可以很容易的在當前宿主機上運行,但是,如果需要在其它服務器上使用這個鏡像,我們就需要一個集中的存盤、分發鏡像的服務,Docker Registry 就是這樣的服務,
2.Centos7下Docker的安裝
Centos7安裝docker,centos8安裝會有寫不同可能會報錯!!!下面再說
- 查看系統內核(必須是3.10以上版本)
uname -r

- 查看虛擬機配置
?
確定好虛擬機的配置后安裝Docker
參照官網:
-
卸載Docker舊的版本
yum remove docker \ > docker-client \ > docker-client-latest \ > docker-common \ > docker-latest \ > docker-latest-logrotate \ > docker-logrotate \ > docker-engine

-
yum工具包安裝
yum install -y yum-utils -
下載鏡像設定為阿里云鏡像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -
建議更新軟體包的索引
yum makecache fast -
安裝Docker相關的源 docker-ce為社區版 docker-ee為企業版
yum install docker-ce docker-ce-cli containerd.io -
啟動Docker
systemctl start docker -
判斷Docker是否安裝成功
docker version

出現這個,安裝成功!
3.Centos8下Docker的安裝
-
安裝依賴
yum install -y yum-utils device-mapper-persistent-data lvm2 -
下載Docker鏡像
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -
安裝Docker
yum install docker-ce docker-ce-cli containerd.io
可能出現問題:

解決包的沖突:
yum erase podman buildah
再次執行:
yum install docker-ce docker-ce-cli containerd.io
-
啟動容器
systemctl start docker -
開機自動啟動
systemctl enable docker
安裝參考
可能出現的問題參考
-
幫助命令
docker version # 顯示docker的基本資訊 docker info # 顯示docker的系統資訊包括鏡像和容器的數量 docker 命令 --help # 幫助命令
4.鏡像的基本命令
-
查看docker安裝的所有鏡像
docker images -a # 查看全部鏡像 docker images -q # 查看所有鏡像id -
docker search搜索鏡像
docker search mysql # 搜索mysql鏡像 -
docker pull 下載鏡像
docker pull mysql :5.7 # 指定版本下載 -
docker rmi洗掉鏡像
docker rmi -f id # 洗掉id的鏡像 docker rmi -f ${docker images -aq} # 洗掉全部的鏡像
5.容器的基本命令
-
新建容器并啟動
docker run [引數] image # 引數 --name="Name" 容器名字,用來區分容器 -d 后臺方式運行 -it 使用互動方式運行,進入容器查看內容 -p 指定容器的埠 -p -
列出所有運行的容器
docker ps -a # 列出當前正在運行的容器和歷史運行過的容器 docker ps -n=? # 顯示正在創建的容器 docker ps -q # 顯示當前容器的編號 -
退出容器
exit # 容器停止并退出 Ctrl + p + q # 容器不停止退出 -
洗掉容器
docker rm id # 洗掉指定的容器 docker rm -f $(docker ps -aq) # 洗掉所有容器 -
啟動和停止容器
docker start 容器id # 啟動容器 docker restart 容器id # 重啟容器 docker stop 容器id # 停止當前正在運行的容器 docker kill 容器id # 強制停止
可以通過配置阿里云鏡像來下載容器
登錄阿里云==》容器鏡像服務==》鏡像中心==》鏡像加速器
場景一:Docker安裝Mysql創建并啟動
參考文章:https://blog.csdn.net/zouxuhang/article/details/107824441
-
下載mysql5.7
docker pull mysql:5.7 -
創建容器實體并啟動,掛載并啟動
-v 表示外部檔案的掛載到容器的檔案中容易操作 并且可以同步
docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7

-
進入容器中
docker exec -it mysql /bin/bash mysql為容器名字查看安裝在那個目錄
whereis mysql
場景二:Docker安裝Redis創建并啟動
-
下載redis
docker pull redis -
掛載目錄
mkdir -p /mydata/redis/conf -
掛載并啟動
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \ > -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \ > -d redis redis-server /etc/redis/redis.conf -
進入redis客戶端
docker exec -it redis redis-cli -
持久化redis資料(AOF)
在redis.conf檔案中配置appendonly yes
場景三:Docker安裝Ngnix創建并啟動
docker run -p 80:80 --name nginx -d nginx:1.10
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html
-v /mydata/nginx/logs:/var/log/nginx
-v /mydata/nginx/conf:/etc/nginx
-d nginx:1.10
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279955.html
標籤:其他
上一篇:2021年大資料Flink(三):???????Flink安裝部署 Local本地模式
下一篇:Hadoop集群部署及簡單測驗
