栏目分类
你的位置:首页-利茂奋颜料有限公司 > 新闻资讯 >
图片
Docker是一个流行的用具,用于拓荒和部署被称为容器的软件包。Ubuntu是最流行的Linux刊行版之一,亦然一个得到Docker复古的操作系统。
在Ubuntu上装配Docker为你的拓荒名目创造一个理思的平台,使用分享Ubuntu操作系统内核的轻量级虚构机。本教程将通过讲解已毕这一指观念4种设施来匡助你运行。
对于Docker的更多信息
准备在Ubuntu上装配Docker
在Ubuntu上装配Docker引擎
在Ubuntu上装配Docker桌面
对于Docker的更多信息Docker通过让你在职何Docker主机上构建和运行应用程序,匡助已毕应用程序的便携性。容器镜像不错在职何Docker可用的所在使用,无需修改–从你的札记本电脑到云霄。这通过排斥运行环境之间的互异,简化了拓荒者的体验。容器神色也很容易溜达在多个物理机上,使你约略简单地推广应用程序以支吾束缚变化的需求。
Docker包括你构建和运行容器镜像所需的一切,不管它们是来自Docker Hub和其他全球注册机构,如故你我方的Docker文献。
准备在Ubuntu上装配Docker你不错在Ubuntu 18.04、20.04、21.10和22.04版块上装配最新的Docker版块。复古x64_64/AMD64、ARMhf、ARM64和S390x架构。
有几种设施不错装配Docker,你的遴荐将取决于你需要的功能和你可爱的软件包管制设施。你将在本指南中了解系数可能的选项。
遴荐一个Docker FlavorLinux上的Docker传统上是只用末端的。一个正常的装配包括Docker引擎,一个运行容器的督察程序,以及与督察程序互动的 docker敕令行界面(CLI)。
Docker桌面是使用Docker的另一种情势。历史上只在Windows和Mac上可用,它在2022年5月推出了Linux版。Ubuntu上的Docker Desktop需要一个AMD64处理器和Ubuntu 21.10或22.04。它提供了一个管制容器的图形界面,一个集成的Kubernetes集群,以及对第三方推广的复古。Docker Desktop还为你提供了 docker和Docker Compose CLI。
Docker Desktop与Docker Engine不同,它使用虚构机来运行你的容器(这即是为什么Windows和MacOS用户需要Docker Desktop)。尽管在Ubuntu上不错并列使用这两个版块,但你可能会发现 dockerCLI版块之间的突破。最佳是遴荐一个并坚合手使用。若是你对你的末端很安适,而况但愿得到最佳的复古和性能,那么就遴荐Docker Engine。Docker Desktop的虚构机使其略显千里重,但若是你思要一个集成的用户界面或计算使用Kubernetes,则是更好的遴荐。
在Ubuntu上装配Docker引擎Docker Engine是在Ubuntu上运行Docker的模范情势。它适用于系数复古的版块和环境,从腹地的Ubuntu桌面机到你的Ubuntu处事器云主机。在你赓续之前,请确保你运行的Ubuntu版块是18.04或更新的。
Docker引擎有3种不同的装配设施:
一个官方的Ubuntu apt资源库
一个孤苦的Debian软件包(.deb)
一个自动装配剧本
选项1,即Ubuntu apt软件库,是最常用的。它将Docker添加到你的软件包列表中,这么你就不错通过运行 apt upgrade简单装配改日的更新。选项2,不复古自动更新,但颠倒符合在有空气过滤的离线系统上装配Docker。自动装配剧本是最约略的初学设施,但其配置只符合拓荒使用。Docker提倡不要在分娩环境中使用它。
当你与分娩系谐和起职责,思要简单更新,或需要在系数环境中使用疏浚的机制时,使用 apt仓库。
若是你思在我方的机器上西宾Docker时赢得快速的装配体验,请使用自动装配剧本。
1. 使用apt仓库装配DockerDocker publishes packages to its own aptrepository. You’ll need to add this repository to your aptsources list, otherwise, your aptinstallation won’t be able to find the Docker packages.
Docker将软件包发布到我方的 apt仓库。你需要将这个仓库添加到你的 apt源列表中,不然,你的 apt装配将无法找到Docker包。
领先,更新你现存的软件包列表,首页-和西兴有限公司并为底下的才略装配一些依赖项。 ca-certificates, 安达市和欧聚合物有限公司 curl, 首页-和西乌仓储有限公司 gnupg和 lsb_release用具将被用来下载正确的Docker apt仓库细节和你系统的签名密钥。尽管你可能一经有了这些软件包,但确保它们是可用的也无妨。
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo apt update$ sudo apt install ca-certificates curl gnupg lsb-release$ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release$ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release接下来,在apt上注册Docker的GPG密钥圈。这将让 apt考证你装配的Docker包。
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo mkdir -p /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$ sudo mkdir -p /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$ sudo mkdir -p /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
curl敕令为Ubuntu下载Docker的GPG密钥,将其调治为模范的OpenGPG编码,并将其保存到apt的keyring目次中。 chmod用来成就keyring文献的权限,以便 apt约略可靠地检测到它。
当今你不错把Docker包的源代码添加到你的系统中。运行底下的敕令:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ echo 'deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable' | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null$ echo 'deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable' | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null$ echo 'deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable' | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null这使用shell替换来自动检测你的系统架构,如AMD64或ARM64,并下载相应的软件包列表。它将使用之前添加的GPG密钥进行考证。该软件库被看成一个新的软件包列表添加到 apt /etc/apt/sources.list.d directory.中。
再次更新你的软件包列表,让 apt知说念Docker软件包的存在:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo apt update$ sudo apt update$ sudo apt update
当今你不错使用 apt install敕令将Docker的组件添加到你的系统中。你将会装配最新版块的Docker社区版(CE)。有三个软件包需要装配:
docker-ce: Docker引擎督察程序。
docker-ce-cli: 你将与之互动的Docker CLI。
containerd.io: 被称为containerd的容器运行技术,用于启动和运行你的容器。
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo apt install docker-ce docker-ce-cli containerd.io$ sudo apt install docker-ce docker-ce-cli containerd.io$ sudo apt install docker-ce docker-ce-cli containerd.io2. 使用Debian Packagers装配Docker官方的 .deb包成就起来很约略,但你必须手动下载和装配每个新版块。软件包被托管在一个约略的文献处事器上。领先浏览Docker的发布讲解页面,找到最新的可用版块号,比如20.10.20。接下来,前去containerd的GitHub页面,也不错检察其版块号。它将看起来像1.6.8。
当今你不错运行底下的敕令序列,为你的平台下载正确的软件包。将<DOCKER_VERSION>和 <CONTAINERD_VERSION>辞别替换为面前Docker和containerd的版块号。
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce.deb$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce-cli.deb$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/containerd.io_<CONTAINERD_VERISON>-1_amd64.deb -o containerd.deb$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce-cli.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/containerd.io_<CONTAINERD_VERISON>-1_amd64.deb -o containerd.deb$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce-cli.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/containerd.io_<CONTAINERD_VERISON>-1_amd64.deb -o containerd.deb
你也不错通过在浏览器中探望你的Ubuntu版块的目次列表来下载文献并查验系数可用的版块。
一朝你下载了Docker CE、CLI和containerd软件包,使用以下敕令来装配它们:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb$ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb$ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb若是你莫得使用上头提供的剧本而手动下载软件包,请调治文献名。
3. 使用装配剧本装配DockerDocker的便利剧本不错自动装配系数Docker组件。它口舌交互式的,教学设施是以你不错坐下来恭候,而你的系消除经为你准备好了。
领先下载该剧本:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ curl -fsSL https://get.docker.com -o get-docker.sh$ curl -fsSL https://get.docker.com -o get-docker.sh$ curl -fsSL https://get.docker.com -o get-docker.sh
当今以root权限运行该剧本:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo sh get-docker.shExecuting docker install script...$ sudo sh get-docker.sh Executing docker install script ...$ sudo sh get-docker.sh Executing docker install script ...比及剧本达到完成。你应该看到一条阐明信息,披露Docker一经装配。
这个剧本是为了提供一个通用的处置决策。若是不径直修改剧本的源代码,你就无法定制它的功能。它也不是为扩充Docker更新而想象的,因为它不会将依赖相干更新到最新版块。
确保Docker引擎在Ubuntu上运行不管你使用哪种装配设施,你都应该通过启动一个容器来确保一切正常:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo docker run hello-world$ sudo docker run hello-world$ sudo docker run hello-world
你会看到Docker客户端将 hello-world:image从Docker Hub仓库拉到你的机器上:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax HighlighterUnable to find image 'hello-world:latest' locallylatest: Pulling from library/hello-world2db29710123e: Pull completeDigest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625Status: Downloaded newer image for hello-world:latestUnable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625 Status: Downloaded newer image for hello-world:latestUnable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625 Status: Downloaded newer image for hello-world:latest然后,一个新的容器将自动启动。hello-world “的启动镜像被配置为运行一个约略的敕令,输出一些对于Docker的基本信息,然后立即退出:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax HighlighterHello 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.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.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.
看到上头披露的输出意味着Docker一经不错使用了。督察程度告捷地从Docker Hub拉出了hello-world:latest image,并使用它启动了一个容器。从 “Hello from Docker “一滑运行的系数现实都是由容器内的程度发出的。
在Ubuntu上成就Docker引擎权限一个新的Docker引擎装配持续需要root权限来运行 dockerCLI敕令。你需要在每个敕令前加上 sudo,这很不浅近。
你不错在使用上述才略装配Docker Engine后,将我方添加到 docker组中,从而幸免这一条件。这一可选的转换使你有权限看成泛泛用户运行 docker敕令,而不需要 sudo,这简化了你的CLI体验。
确保 docker用户组存在:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo groupadd docker$ sudo groupadd docker$ sudo groupadd docker然后把我方加进去:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo usermod -aG docker $USER$ sudo usermod -aG docker $USER$ sudo usermod -aG docker $USER
若是你往常用 sudo运行过任何 docker敕令,你需要修正你的 ~/.docker目次的权限:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo chown $USER:$USER /home/$USER/.docker -R$ sudo chmod g+rwx $HOME/.docker -R$ sudo chown $USER:$USER /home/$USER/.docker -R $ sudo chmod g+rwx $HOME/.docker -R$ sudo chown $USER:$USER /home/$USER/.docker -R $ sudo chmod g+rwx $HOME/.docker -R这确保你我方的用户账户被允许读写该目次中的文献。
退出你的系统并再次登录,这么你的新构成员经历就会告成。尝试在莫得 sudo的情况下运行 docker敕令:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ docker run hello-world$ docker run hello-world$ docker run hello-world
这个装配后的才略完成了Ubuntu上的Docker成就过程。督察程度一经被配置为自动启动,是以你不需要手动成就处事。若是你想象进行高档装配,请参考Docker用户手册中对于若何配置自界说网络、日记和卷存储管制的讲解。
在Ubuntu装配中添加Docker ComposeDocker Compose是一个流行的Docker配套用具,它使使用多个容器的应用程序更容易职责。固然 dockerCLI每条敕令只针对一个容器,但 docker compose不错通过每个动作启动和罢手几个容器。这简化了你有孤苦的前端、后端和数据库处事的系统管制。
Docker Compose当今不错看成 dockerCLI的一部分。当你使用官方装配剧本装配Docker时,Compose V2插件就包括在内。若是你使用这种设施,它也不错在 apt中使用:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo apt install docker-compose-plugin$ sudo apt install docker-compose-plugin$ sudo apt install docker-compose-plugin另外,你也不错下载最新的 .deb压缩包并手动装配:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb -o docker-compose-plugin.deb$ sudo apt install -i ./docker-compose-plugin.deb$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb -o docker-compose-plugin.deb $ sudo apt install -i ./docker-compose-plugin.deb$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb -o docker-compose-plugin.deb $ sudo apt install -i ./docker-compose-plugin.deb
通过尝试 docker compose version敕令来查验Compose是否职责:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ docker compose versionDocker Compose version v2.6.0$ docker compose version Docker Compose version v2.6.0$ docker compose version Docker Compose version v2.6.0在Ubuntu上装配Docker Desktop固然Docker Engine仅限于CLI体验,但Docker Desktop提供了一个图形化的管制界面,内置的Kubernetes复古,以及可选的第三方推广,不错匡助简化你的容器职责过程。当你在我方的职责站上寻求易用性时,它是一个很好的遴荐。
要装配Docker Desktop,领先使用 apt装配一些依赖项:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo apt update$ sudo apt install ca-certificates curl gnupg lsb-release$ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release$ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release
接下来,运行底下的一组敕令来添加Docker的 apt资源库。尽管Docker Desktop并不包括在这个软件库中,但其中的软件包会被Desktop的Debian归档看成依赖项援用。
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo mkdir -p /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$ echo 'deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable' | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null$ sudo apt update$ sudo mkdir -p /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 $ echo 'deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable' | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null $ sudo apt update$ sudo mkdir -p /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 $ echo 'deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable' | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null $ sudo apt updatecurl敕令下载Docker在Ubuntu下的GPG密钥,将其调治为模范的OpenGPG编码,并将其保存到 apt的keyring目次下。chmod用于成就keyring文献的权限,以便 apt约略可靠地检测到它。
从文档中的相连下载Docker Desktop Debian归档。这将提供最新的Docker Desktop for Linux的褂讪版块。使用apt装配该软件包,将你下载的版块号替换进去:
Plain textCopy to clipboardOpen code in new windowEnlighterJS 3 Syntax Highlighter$ sudo apt install ./docker-desktop-4.11.0-amd64.deb$ sudo apt install ./docker-desktop-4.11.0-amd64.deb$ sudo apt install ./docker-desktop-4.11.0-amd64.deb
Docker Desktop当今会出当今你的应用启动器中。使用你的启动器来启动Docker Desktop并开放用户界面。你也能在末端运行 docker, docker compose和 kubectl敕令。该应用程序还为你的shell托盘添加了一个菜单,披露面前的Docker Desktop景色,并让你扩充一些快速操作。
在你第一次运行Docker Desktop时,你会被教导接收处事条约。若是你容许,请按下接收按钮,然后恭候Docker Desktop启动其虚构机。
几分钟后,姿色板将加载。它提供了从流行镜像创建新容器的快捷情势,幸免了冗长的末端敕令。
图片
在Ubuntu上装配了Docker Desktop
小结Docker是大大都拓荒者运诈欺用容器的情势。你不错简单地在Ubuntu系统上装配Docker教学设施,不管是Docker引擎如故新的Docker桌面。一朝你装配了Docker,你就皆备有才略构建和运行容器,让你简化拓荒,减少环境之间的互异。
阅读全文 本站仅提供存储处事,系数现实均由用户发布,如发现存害或侵权现实,请点击举报。