智慧管網(wǎng)建設(shè)方案網(wǎng)站seo分析工具
文章目錄
- Docker簡(jiǎn)介
- 1.更新
- 2.安裝必要的軟件包
- 3.添加Docker倉(cāng)庫(kù)
- 4.安裝
- 5.安裝后的一些常規(guī)設(shè)置及常用的命令
- 5.1 啟動(dòng) Docker
- 5.2 Docker 在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行
- 5.3 運(yùn)行一個(gè) Hello World 鏡像
- 5.4 查看docker運(yùn)行狀態(tài)
- 5.5 docker ps
- 5.6 查看docker版本
- 6.安裝種常見(jiàn)的錯(cuò)誤
- 錯(cuò)誤1:yum-config-manager:找不到命令
- 7.Docker的使用場(chǎng)景
歡迎來(lái)到這篇關(guān)于在 CentOS 7 上安裝 Docker 的教程。在本篇博客中,我們將介紹在 CentOS 7 操作系統(tǒng)上如何安裝 Docker。Docker 是一個(gè)開源的應(yīng)用容器引擎,允許開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上。下面讓我們開始吧。
Docker簡(jiǎn)介
Docker 是一個(gè)開源的容器化平臺(tái),它可以幫助用戶將應(yīng)用程序和服務(wù)打包到 Docker 容器中,并提供一套簡(jiǎn)單而強(qiáng)大的命令行工具來(lái)管理容器和鏡像。與傳統(tǒng)虛擬機(jī)相比,Docker 容器更加輕量級(jí)、便捷、高效,并且可以實(shí)現(xiàn)跨平臺(tái)、跨云、快速部署和擴(kuò)展等優(yōu)點(diǎn)。
通過(guò) Docker,用戶可以創(chuàng)建和運(yùn)行多個(gè)容器,每個(gè)容器相互隔離、獨(dú)立運(yùn)行,就像是一個(gè)輕量級(jí)的虛擬機(jī)。用戶可以使用 Docker 提供的命令行工具來(lái)管理容器和鏡像,如構(gòu)建、運(yùn)行、停止、刪除、導(dǎo)入和導(dǎo)出等操作,還可以通過(guò) Docker Hub 等鏡像倉(cāng)庫(kù)下載和分享 Docker 鏡像。
Docker 的應(yīng)用場(chǎng)景非常廣泛,可以用于開發(fā)環(huán)境搭建、CI/CD 自動(dòng)化部署、微服務(wù)架構(gòu)、容器云平臺(tái)、容器編排等方面。在企業(yè)級(jí)應(yīng)用中,Docker 已經(jīng)成為重要的容器化技術(shù)之一,并被廣泛應(yīng)用于生產(chǎn)環(huán)境。
總之,Docker 是一個(gè)非常流行的容器化平臺(tái),提供了一種新的方式來(lái)構(gòu)建、發(fā)布和運(yùn)行應(yīng)用程序和服務(wù),其輕量級(jí)、可移植、易于管理和擴(kuò)展的優(yōu)點(diǎn),使其成為越來(lái)越多開發(fā)者和企業(yè)的首選技術(shù)。
一個(gè)完整的Docker有以下幾個(gè)部分組成:
- DockerClient客戶端
- Docker Daemon守護(hù)進(jìn)程
- Docker Image鏡像
- DockerContainer容器
docker中有這樣幾個(gè)概念:
- dockerfile
- image
- container
實(shí)際上你可以簡(jiǎn)單的把image理解為可執(zhí)行程序,container就是運(yùn)行起來(lái)的進(jìn)程。
那么寫程序需要源代碼,那么“寫”image就需要dockerfile,dockerfile就是image的源代碼,docker就是"編譯器"。
因此我們只需要在dockerfile中指定需要哪些程序、依賴什么樣的配置,之后把dockerfile交給“編譯器”docker進(jìn)行“編譯”,也就是docker build命令,生成的可執(zhí)行程序就是image,之后就可以運(yùn)行這個(gè)image了,這就是docker run命令,image運(yùn)行起來(lái)后就是docker container。
1.更新
yum update -y
2.安裝必要的軟件包
yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加Docker倉(cāng)庫(kù)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.安裝
yum install docker-ce
5.安裝后的一些常規(guī)設(shè)置及常用的命令
5.1 啟動(dòng) Docker
systemctl start docker
5.2 Docker 在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行
systemctl enable docker
5.3 運(yùn)行一個(gè) Hello World 鏡像
[root@10 ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
719385e32844: Pull complete
Digest: sha256:4f53e2564790c8e7856ec08e384732aa38dc43c52f02952483e3f003afbf23db
Status: Downloaded newer image for hello-world:latestHello 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 theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare 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/
5.4 查看docker運(yùn)行狀態(tài)
[root@10 ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since 三 2023-09-27 08:47:58 CST; 12min agoDocs: https://docs.docker.comMain PID: 1536 (dockerd)Tasks: 34Memory: 146.8MCGroup: /system.slice/docker.service└─1536 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contai...9月 27 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.296317622+..."
9月 27 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.457659247+..."
9月 27 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.570299351+..."
9月 27 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.686028344+..."
9月 27 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.868276595+...6
9月 27 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.868391631+..."
9月 27 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.911613133+..."
9月 27 08:47:58 10.0.1.37 systemd[1]: Started Docker Application Container E...e.
9月 27 08:59:16 10.0.1.37 dockerd[1536]: time="2023-09-27T08:59:16.121080761+..."
9月 27 08:59:22 10.0.1.37 dockerd[1536]: time="2023-09-27T08:59:22.111055567+..."
Hint: Some lines were ellipsized, use -l to show in full.
5.5 docker ps
該命令是用來(lái)查詢當(dāng)前容器的
#查詢?nèi)繝顟B(tài)的容器
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE SIZE
e90b8831a4b8 nginx "/bin/bash -c 'mkdir " 11 weeks ago Up 4 hours my_nginx 35.58 kB (virtual 109.2 MB)
00c6131c5e30 telegraf:1.5 "/entrypoint.sh" 11 weeks ago Up 11 weeks my_telegraf 0 B (virtual 209.5 MB)
5.6 查看docker版本
[root@10 ~]# docker version
Client: Docker Engine - CommunityVersion: 24.0.6API version: 1.43Go version: go1.20.7Git commit: ed223bcBuilt: Mon Sep 4 12:35:25 2023OS/Arch: linux/amd64Context: defaultServer: Docker Engine - CommunityEngine:Version: 24.0.6API version: 1.43 (minimum version 1.12)Go version: go1.20.7Git commit: 1a79695Built: Mon Sep 4 12:34:28 2023OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.6.22GitCommit: 8165feabfdfe38c65b599c4993d227328c231fcarunc:Version: 1.1.8GitCommit: v1.1.8-0-g82f18fedocker-init:Version: 0.19.0GitCommit: de40ad0
6.安裝種常見(jiàn)的錯(cuò)誤
錯(cuò)誤1:yum-config-manager:找不到命令
[root@10 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager:找不到命令
解決:
yum -y install yum-utils
7.Docker的使用場(chǎng)景
-
應(yīng)用程序的開發(fā)和測(cè)試:Docker可以為應(yīng)用程序提供穩(wěn)定的運(yùn)行環(huán)境,使開發(fā)人員可以輕松在不同的系統(tǒng)上測(cè)試和運(yùn)行軟件,而無(wú)需考慮與操作系統(tǒng)或其他應(yīng)用程序的沖突。
-
持續(xù)集成和持續(xù)交付:Docker可以在不同階段的開發(fā)周期中提供完全相同的環(huán)境,并且可以在部署到生產(chǎn)服務(wù)器之前快速迭代和測(cè)試應(yīng)用程序。
-
服務(wù)器的管理和部署:Docker可以幫助管理員自動(dòng)化應(yīng)用程序的部署和操作,也可以輕松地橫向擴(kuò)展和縮小服務(wù)器,以便根據(jù)需要擴(kuò)展或減少服務(wù)。
-
云計(jì)算和容器服務(wù):Docker可以作為云計(jì)算平臺(tái)的基礎(chǔ)架構(gòu),例如Kubernetes、Mesos或Docker Swarm,提供高度擴(kuò)展、可靠性和安全性。
-
多租戶應(yīng)用程序的隔離:Docker可以為多租戶應(yīng)用程序提供隔離的容器,從而不同租戶之間的應(yīng)用程序和數(shù)據(jù)可以彼此隔離,提高了安全性。