linux中docker的安装教程

yizhihongxing

下面就为您详细讲解 "Linux中Docker的安装教程"。

1. 安装前的准备

在安装Docker之前,需要确保您的Linux系统版本符合下列要求:

  • CentOS:7 or later
  • Debian:Wheezy or later
  • Fedora:21 or later
  • Ubuntu:Trusty Tahr 14.04 or later
  • RHEL:7 or later

还需确保您已经安装了curl工具。如果您的系统里还没有curl,您可以通过以下的命令进行安装:

sudo apt-get install curl

2. Docker安装过程

  1. 卸载旧版本的Docker
    如果您已经在您的电脑上安装了旧版本Docker,为避免出错和影响安装,您需要先卸载掉旧版本的Docker,命令如下:
sudo apt-get remove docker docker-engine docker.io
  1. 安装Docker CE

Docker CE是Docker Community Edition的简称,这也是Docker涉及到的非企业级别操作的而版本。确保依赖关系可用:

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  1. 安装GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. 添加Docker repository
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

如果出现:

add-apt-repository: command not found

请先使用下列代码安装软件:

sudo apt-get install software-properties-common | dnf install -y software-properties-common
  1. 安装Docker
sudo apt-get update
sudo apt-get install docker-ce
  1. 确认Docker已经成功安装

您可以通过以下的命令来运行一个简单的Docker镜像,确认Docker已经成功安装:

sudo docker run hello-world

3. 操作Docker(包含两个示例)

示例1:运行一个基础镜像

Docker有许多预设的镜像,可以直接在Docker Hub(镜像仓库)里下载。接下来,我们以CentOS的官方Docker镜像为例,来运行一个基础镜像。

  1. 从Docker Hub下载CentOS镜像
sudo docker pull centos

注意:在中国下载Docker Hub的镜像速度会非常慢,如果您遇到这个问题,可以考虑使用阿里云的Docker Hub镜像。

```bash
sudo docker pull registry.cn-hangzhou.aliyuncs.com/library/centos


2. 运行CentOS镜像

```bash
sudo docker run -i -t centos /bin/bash

命令参数说明:

  • -i:表示以交互式运行Docker,可在终端上进行输入输出操作
  • -t:表示在新容器内开启一个伪终端,同时将其绑定到以下命令行。
  • centos:表示要运行centos镜像
  • /bin/bash:表示在新容器内执行bash命令。

  • 查看正在运行的容器

sudo docker ps -a

您还可以通过以下命令列出所有镜像,以及运行状况:

sudo docker images -a

示例2:创建一个自定义镜像

除了使用Docker Hub里的预设镜像,我们还可以通过自己编写的Dockerfile文件,来定制一个适合自己的Docker镜像。接下来我们就从头开始创建一个自定义镜像。

  1. 创建一个Dockerfile文件

在一个新的文件夹里创建一个名为Dockerfile的文件,并把以下代码填入文件中:

FROM ubuntu
MAINTAINER AAA
RUN apt-get update && apt-get install -y apache2 && apt-get clean &&\
      echo "ServerName localhost" | tee /etc/apache2/conf-available/fqdn.conf &&\
      a2enconf fqdn &&\
      sed -i 's/Listen 80/Listen 8080/g' /etc/apache2/ports.conf &&\
      sed -i 's/\/var\/www\/html/\/var\/www\/web/g' /etc/apache2/sites-available/000-default.conf &&\
      echo "<html><body><h1>Hello!</h1></body></html>" > /var/www/web/index.html
EXPOSE 8080
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]

上述文件中,代码首先是第一条可能是最重要的编译指令。它确定我们打算制作的镜像从哪个基础镜像开始。在本例中,从Ubuntu官方第一方镜像开始。我们需要的应用是apache2,因此在RUN指令中将其安装,并通过诸如echo之类的解决方案设置默认值。

  1. 通过Dockerfile文件,生成自定义镜像

确保您已经在Dockerfile所在的文件夹内,然后输入以下代码语句:

sudo docker build -t my-apache2 .
  1. 运行自定义镜像

输入以下代码语句,完成镜像的运行。

sudo docker run -p 8080:8080 my-apache2

命令参数说明:

  • -p:表示在Docker容器和宿主机之间建立端口映射,格式为[宿主机端口]:[Docker内部端口]。本例中,我们将Docker内部的8080端口映射到宿主机的8080端口。
  • my-apache2:表示我们需要运行的自定义镜像名。

  • 查看正常运行的容器

可以运行以下命令,查看正在运行的容器:

sudo docker ps

总结

Linux中安装Docker CE的过程相对简单,只需要准备好Linux的环境和依赖关系即可。安装完成之后,我们可以通过运行一个基础镜像和创建一个自定义镜像的示例,进一步熟悉Docker的使用。如果您想要深入学习Docker,可以访问Docker官网的学习文档。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux中docker的安装教程 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • docker-compose.yml 语法说明

    YAML 模板文件语法 默认的模板文件是 docker-compose.yml,其中定义的每个服务都必须通过 p_w_picpath 指令指定镜像或 build 指令(需要 Dockerfile)来自动构建。其它大部分指令都跟 docker run 中的类似。如果使用 build 指令,在 Dockerfile 中设置的选项(例如:CMD, EXPOSE, …

    Docker 2023年4月13日
    00
  • Docker exec 的实现原理介绍

    下面是关于Docker exec的实现原理及示例说明的攻略: 什么是 Docker exec? Docker exec是一个命令行工具,它可以在运行中的Docker容器中执行命令。它允许您连接到容器内部,无需进入到容器的命令行中。 实现原理 Docker exec命令通过在现有容器内启动一个新进程来实现其功能。详细实现流程如下: 首先,Docker创建一个新…

    Docker 2023年5月16日
    00
  • 本地yum源安装docker

    Directory listing for / audit-libs-python-2.7.6-3.el7.x86_64.rpm checkpolicy-2.5-4.el7.x86_64.rpm container-selinux-2.42-1.gitad8f0f7.el7.noarch.rpm docker-ce-18.03.0.ce-1.el7.cent…

    Docker 2023年4月13日
    00
  • docker学习笔记之把容器commit成镜像的方法

    下面进入正题,讲解如何将Docker容器commit为Docker镜像。 什么是commit命令 commit 命令是 Docker 提供的将容器保存为镜像的命令,将容器的当前状态提交为一个新的镜像,并将生成的镜像保存至本地镜像仓库。同时,通过 –message 选项可以给该镜像添加相应的注释信息,方便后续管理维护。 流程说明 找到要提交成镜像的容器的容器…

    Docker 2023年5月16日
    00
  • docker registry私服搭建的方法

    下面我将对“docker registry私服搭建的方法”的完整攻略进行详细讲解。 首先,我们需要明确几个概念: Docker Registry:Docker镜像仓库,用于存储、分发Docker镜像。 Docker Registry Proxy:Docker Registry代理,可以缓存其他Registry的镜像。 Docker Registry Mirr…

    Docker 2023年5月16日
    00
  • 基于 Traefik 的 ForwardAuth 配置

    前言 Traefik 是一个现代的 HTTP 反向代理和负载均衡器,使部署微服务变得容易。 Traefik 可以与现有的多种基础设施组件(Docker、Swarm 模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS…)集成,并自动和动态地配置自己。 系列文章: 《Traefik 系列文章》 今天我们…

    Docker 2023年4月11日
    00
  • 深入了解docker(docker镜像、容器、仓库的基本概念)

    深入了解Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用及依赖包到一个可移植的容器中,然后发布到任何 Linux 或 Windows 机器上,也可以实现虚拟化,方便云端部署和升级。 Docker 镜像 Docker 镜像就是一个只读的模板,可以用来创建 Docker 容器。一个镜像可以包含一个或多个文件系统,也可以包含几个用来…

    Docker 2023年5月15日
    00
  • CentOS7安装docker 启动失败:Job for docker.service failed… 解决办法(转载)

    CentOS7安装docker 启动失败:Job for docker.service failed… 解决办法 在CentOS7安装docker后启动失败: 查看docker 版本,只有client,没有server。 解决:执行 vi /etc/sysconfig/selinux , 把 selinux 属性值改为disabled。然后重启系统,dock…

    Docker 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部