【Docker】Docker的安装与初始化

本文提供了一篇关于在Ubuntu系统上安装Docker的详细教程,包括卸载旧版本、通过apt、deb包及快捷安装脚本进行安装,并介绍了配置Docker和启动验证的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备

参考Docker官网:https://docs.docker.com/install/linux/docker-ce/ubuntu/

可以在如下四个版本的ubuntu系统安装Docker Engine

Disco 19.04
Cosmic 18.10
Bionic 18.04 (LTS)
Xenial 16.04 (LTS)

Docker支持在如下存储架构上安装

x86_64 (or amd64)
armhf
arm64
s390x (IBM Z)
ppc64le (IBM Power)

卸载Docker

1.卸载已有Docker

sudo apt-get remove docker docker-ce docker-engine docker.io containerd runc

但是在/var/lib/docker/下的东西,包括镜像、容器、数据卷、网络等会被保留。

2.卸载docker-ce(官方方法)

sudo apt-get purge docker-ce

sudo rm -rf /var/lib/docker

安装Docker

三种安装方式

  • 通过设置Docker’s repositories 来用apt的方式安装(最推荐)
  • 下载deb包,手动安装(适合没网的新电脑)
  • 通过便捷安装脚本

apt安装

1.更新apt的源

sudo apt-get update

2.安装软件包,使apt可以使用https安装

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

4.添加Docker的官方GPG密钥

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

5.设置stable repository

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

6.查看当前可安装的Docker版本

apt-cache madison docker-ce

7.更新apt安装源并安装Docker

sudo apt-get -y update

8.执行apt安装命令

sudo apt-get install docker-ce docker-ce-cli containerd.io

或 安装指定版本的Docker-CE:

sudo apt-get install docker-ce=5:19.03.5~3-0~ubuntu-xenial docker-ce-cli=5:19.03.5~3-0~ubuntu-xenial containerd.io

deb安装

1.Go to https://download.docker.com/linux/ubuntu/dists/, choose your Ubuntu version, browse to pool/stable/, choose amd64, armhf, arm64, ppc64el, or s390x, and download the .deb file for the Docker Engine - Community version you want to install.

2.Install Docker Engine - Community, changing the path below to the path where you downloaded the Docker package.

sudo dpkg -i /path/to/package.deb

快捷安装

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
If you would like to use Docker as a non-root user, you should now consider adding your user to the “docker” group with something like:

  sudo usermod -aG docker your-user

Remember to log out and back in for this to take effect!

配置Docker

安装后出现:

Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:       XXX
 Built:             Wed Nov 13 07:29:52 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:     XXX
  Built:            Wed Nov 13 07:28:22 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:       XXX
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        XXX
 docker-init:
  Version:          0.18.0
  GitCommit:        XXX
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker dell

Remember that you will have to log out and back in for this to take effect!

WARNING: Adding a user to the "docker" group will grant the ability to run
         containers which can be used to obtain root privileges on the
         docker host.
         Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
         for more information.

此时,docker CE 的稳定(stable)版本已经安装在系统中。

最后几行提示说,如果想以非root用户使用docker,应该考虑把你当前的用户加入docker组,并且重启终端使其生效,这是因为:

默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
参考:https://docker_practice.gitee.io/zh-cn/install/debian.html

使用如下命令建立docker组并将当前用户加入:

sudo groupadd docker

sudo usermod -aG docker 当前用户

3、启动docker

设置docker开机自动启动,并启动docker:

sudo systemctl enable docker

sudo systemctl start docker

重新加载docker配置、重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

验证启动是否成功:

docker run hello-world

显示信息为:

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.

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 ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started

则表示启动成功!

docker run hello-world 的功能是启动一个名称为hello-world的容器,由于初次使用这个命令,且本地不存在hello-world这个镜像,docker会从Docker Hub中pull下来这个镜像,然后运行一个容器实例。具体四步为:

  1. 通过docker客户端连接docker守护进程。
  2. docker守护进程从Docker Hub中pull hello-world镜像。
  3. docker守护进程从拉取的hello-world镜像创建一个新的容器。
  4. docker守护进程将输出传输给docker客户端,客户端再传输到你的终端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值