docker【2】 docker安装 Install Docker Engine

本文介绍了在Ubuntu系统上安装Docker的方法,并详细说明了安装过程中的注意事项及验证Docker是否安装成功的步骤。

上一篇: docker【1】docker简介(入门知识)

docker安装 Install Docker Engine


前言:

    运行任何应用程序,都需要有两个基本步骤:构建一个镜像、运行容器。

    这些步骤都是从Docker Client的命令开始的。

    第1步:构建镜像

        如前所述,Docker Image是一个构建容器的只读模板,它包含了容器启动所需的所有信息,包括运行程序和配置数据。

    每个镜像都源于一个基本的镜像,然后根据Dockerfile中的指令创建模板。对于每个指令,在镜像上创建一个新的层面。

    第2步:运行容器

        运行容器源于我们在第一步中创建的镜像。当容器被启动后,一个读写层会被添加到镜像的顶层。当分配到合适的网络和IP地址后,需要的应用程序就可以在容器中运行了。

    接下来,让我们一起安装Docker!



ubuntu 系列安装docker 

  • 系统准备:

官方安装文档 http://docs.docker.com/engine/installation/#installation

注意:官网对版本要求写的很清楚,而且对于不同版本命令也少许不一样,大家根据自己的版本选择合适的命令;

这里使用最新版本ubutun15.10 下载地址 http://releases.ubuntu.com/wily/

下面给出查看ubutun内核和版本号和位数命令:


 
  1. $ uname -r

    4.2.0-16-generic

  2. $ sudo lsb_release -a

    Distributor ID: Ubuntu

    Description:    Ubuntu 15.10 Release:        15.10 Codename:       wily     

  3. $ file /sbin/init (有的版本是这个命令,有的是下面的那个命令)

    /sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x7aa29ded613e503fb09fb75d94026f3256f01e7a, stripped

  4. $ file /lib/systemd/systemd /lib/systemd/systemd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=832cea0e7a1230fd7ebf93bba1858888ecb9b4d1, stripped

若是内核版本比较低则更新一下内核;

  • docker安装:

第一种方式:

操作系统默认的apt源有docker包,我们可以直接使用下面的apt-get命令安装docker:


 
  1. $ sudo apt-get install -y docker.io

但是ubutun仓库自带的往往不是最新的;为了获取最新的docker使用curl


第二种方式:

网站 https://get.docker.com 提供了curl-able的安装脚本install.sh,我们可以通过curl的方式进行安装docker。

我们先安装curl:

 
  1. $ sudo apt-get update
  2. $ sudo apt-get install curl

然后进行docker的安装:

 
  1. $ curl -k -sSl https://get.docker.com | sudo sh

查看docker版本:

 
  1. $ docker version Client: Version:      1.9.1 API version:  1.21 Go version:   go1.4.2 Git commit:   a34a1d5 Built:        Fri Nov 20 13:08:59 UTC 2015 OS/Arch:      linux/amd64

 建议使用第二种方式;

可以通过 https://get.docker.com 查看脚本命令。可以知道卸载方式是

 
  1. sudo apt-get remove docker-engine
  • docker验证

若上述命令执行成功后,就要验证一下docker是否安装成功了:

执行下面命令

 
  1. sudo docker run hello-world

  2. 若显示如下信息: 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. 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. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker Hub account: https://hub.docker.com For more examples and ideas, visit: https://docs.docker.com/userguide/

证明docker正常工作!下面我们就可以开始docker之旅啦~


补充命令:可以使用命令查看容器状态

1、查看正在运行的容器

 
  1. sudo docker ps

    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

2、查看所有的容器

 
  1. sudo docker ps -a

    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                         PORTS               NAMES 5ddce0ca3e4f        hello-world         "/hello"            2 minutes ago       Exited (0) 2 minutes ago                           serene_jennings 551e257cbc08        hello-world         "/hello"            2 minutes ago       Exited (0) 2 minutes ago                           drunk_sammet 584c3a343739        hello-world         "/hello"            About an hour ago   Exited (0) About an hour ago                       trusting_hypatia 005c31a4cd49        hello-world         "/hello"            About an hour ago   Exited (0) About an hour ago                       goofy_easley b865dac40a66        hello-world         "/hello"            About an hour ago   Exited (0) About an hour ago                       furious_borg

3、查看本地镜像

 
  1. sudo docker images

    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE hello-world         latest              0a6ba66e537a        8 weeks ago         960 B

4、从镜像中运行/停止一个新实例

 
  1. sudo docker run/stop --help

通过help查询一些参数,根据自己的id启动/停止实例


注意:

每次 使用docker命令都需要使用sudo

这里把当前用户加入到docker组就可以直接使用命令,而不用每次都加sudo

 
  1. $ sudo groupadd docker

    #改完后需要重新登陆用户

  2. $ sudo gpasswd -a ${USER} docker



<think> 我们之前已经详细介绍了Docker Engine安装方法。现在用户希望同时了解Docker Compose和Docker Engine安装教程。根据引用内容,Docker Compose的安装方法在引用[2][3][4]中都有提及,但需要注意引用[2]提到新版本的Docker Engine(如24.0.5)已经包含了docker compose(即作为docker compose plugin),因此不需要单独安装。而旧版本或特定情况下可能需要单独安装。 因此,我们接下来将分别介绍Docker EngineDocker Compose的安装方法,并注意以下几点: 1. Docker Engine安装方法我们已经在上次回答中详细说明(Ubuntu和CentOS),这里可以简要概括,但需要补充说明新版本已经包含compose plugin的情况。 2. Docker Compose的安装分为两种情况:一种是使用新版本Docker Engine自带的compose plugin(通过`docker compose`命令),另一种是单独安装旧版的docker-compose(通过`docker-compose`命令)。 根据引用[3][4],单独安装Docker Compose的步骤是下载二进制文件并赋予执行权限。 因此,回答结构如下: 1. 安装Docker Engine(简要回顾,并说明新版本包含compose plugin)。 2. 安装Docker Compose(分两种情况:新版本Docker Engine无需安装;单独安装的方法)。 同时,注意引用标注:在提到Docker Compose安装的部分,引用[2][3][4];在提到Docker Engine安装的部分,引用我们之前的回答(但用户本次给出的引用中没有直接关于Engine安装的,我们可以不标注引用,或者引用[5]中提到了docker安装的卸载步骤,但安装步骤没有详细给出,所以我们可以不标注,或者提示用户参考官方文档)。 由于用户本次给出的引用中,引用[1]是关于Docker Compose安装的目录,引用[2][3][4]都是关于Docker Compose安装的具体步骤,引用[5]是关于docker安装的卸载旧版本的步骤。因此,我们在安装Docker Engine部分,可以提示用户参考我们之前的回答(但本次对话中没有之前的回答记录?实际上用户是在同一个会话中,我们可以假设用户已经知道之前的Engine安装步骤,但为了完整性,我们简要概括,并建议用户查看之前的回答或官方文档)。 但是,考虑到用户可能没有看到之前的回答,我们在这里还是简要写出Docker Engine安装步骤(基于Ubuntu和CentOS),但会简化。 另外,根据用户提供的引用[2],新版本的Docker Engine已经带有docker compose(即作为plugin),所以我们可以先安装Docker Engine,然后检查是否已有compose功能(通过运行`docker compose version`),如果已经存在,则无需额外安装。 具体步骤: ### Docker Engine安装(简要) 1. 卸载旧版本(可选,见引用[5])[^5]。 2. 设置仓库并安装(以Ubuntu为例,其他系统类似): ```bash # Ubuntu sudo apt-get update sudo apt-get install ca-certificates curl -y # 添加Docker官方GPG密钥 sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # 添加仓库 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update # 安装Docker Engine sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y ``` 注意:安装包中包含了`docker-compose-plugin`,所以新版本(如24.0.5)会自带compose功能。 ### Docker Compose安装 如果安装的是较新版本的Docker Engine(如上所述,安装了`docker-compose-plugin`),则可以直接使用`docker compose`命令(注意没有横线)。可以通过以下命令验证: ```bash docker compose version ``` 如果输出版本信息(如`Docker Compose version v2.10.2`),则说明已安装。 如果由于某些原因需要单独安装docker-compose(例如,使用旧版Docker Engine,或者希望使用独立的`docker-compose`命令),可以按照以下步骤: 1. 下载Docker Compose二进制文件(选择最新稳定版,注意替换版本号): ```bash # 例如,下载版本v2.10.2(请根据引用[3][4]中的方法,注意查看最新版本) sudo curl -L "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 注意:引用[3]中使用了1.29.2版本,但那是较旧的版本,建议使用最新的v2版本。这里我们使用引用[2]中提到的v2.10.2版本(但用户引用[2]中写的是2.10.2,而引用[3][4]分别用了1.29.2和1.27.4,我们以较新的v2版本为例)。 2. 赋予执行权限: ```bash sudo chmod +x /usr/local/bin/docker-compose ``` 3. 验证安装: ```bash docker-compose --version ``` 输出类似:`docker-compose version 2.10.2, build 50c644b` 注意:单独安装docker-compose命令是带有横线的(`docker-compose`),而Docker Engine插件形式的命令是不带横线的(`docker compose`)。两者功能相似,但推荐使用新版本的插件形式(因为它与Docker Engine集成更好,且版本与Docker Engine同步更新)。 ### 总结 - 推荐安装新版本的Docker Engine(包含compose插件),这样无需单独安装Compose。 - 如果必须使用单独的docker-compose,则按照上述步骤安装。 最后,根据用户需求,我们提供的是安装教程,因此步骤要清晰,并给出验证方法。 相关问题: 1. Docker Compose有哪些常用命令? 2. 如何配置Docker Compose文件? 3. Docker EngineDocker Compose在容器编排中各起什么作用? </think> ### Docker EngineDocker Compose 安装教程 #### 一、Docker Engine 安装(核心运行时) 适用于 Linux 服务器环境,提供容器运行时支持: 1. **卸载旧版本**(可选)[^5]: ```bash sudo yum remove docker* containerd runc # CentOS/RHEL # 或 sudo apt-get remove docker docker-engine docker.io containerd runc # Ubuntu/Debian ``` 2. **通过官方仓库安装**: **Ubuntu/Debian**: ```bash sudo apt-get update sudo apt-get install ca-certificates curl gnupg # 添加GPG密钥 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 添加仓库 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装引擎 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` **CentOS/RHEL**: ```bash sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io ``` 3. **验证安装**: ```bash sudo systemctl start docker sudo docker run hello-world # 显示"Hello from Docker!"即成功 ``` #### 二、Docker Compose 安装(容器编排工具) > 注意:较新的 Docker Engine(v20.10+)已内置 Compose V2,无需单独安装[^2]。如需独立安装: 1. **下载二进制文件**(选择兼容版本): ```bash # 最新稳定版(替换版本号) sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 2. **授权执行权限**: ```bash sudo chmod +x /usr/local/bin/docker-compose ``` 3. **创建符号链接**(可选): ```bash sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose ``` 4. **验证安装**: ```bash docker-compose --version # 显示版本号即成功[^3] ``` #### 三、安装后配置 1. **非root用户操作权限**: ```bash sudo usermod -aG docker $USER && newgrp docker ``` 2. **开机自启**: ```bash sudo systemctl enable docker ``` #### 四、版本兼容建议 | 组件 | 推荐版本 | 说明 | |-----------------|-------------------|--------------------------| | Docker Engine | v24.0+ | 内置Compose V2插件[^2] | | Docker Compose | v2.10+ | 兼容V3 compose文件格式 | > 提示:使用 `docker compose`(无横线)调用内置插件,`docker-compose`(有横线)调用独立安装版本。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值