docker简介与ubuntu/linux环境下docker安装
同步发布在个人笔记docker简介与ubuntu/linux环境下docker安装
docker简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
换成我能懂的话来说
- docker可以把一个完整的应用打包成一个容器,注意这个容器包含实现这个应用的几乎全部组件,包含的组件就不需要和外部交互了。
譬如一个博客平台wordpress,不使用docker时,它需要与环境中的php交互才能run;但是如果使用docker的wordpress容器,那么这个容器内部是包含php组件的,此时修改外部的php配置是不能对容器产生影响的,需要修改的是容器内部的php配置; - 所以容器的多平台可移植性极佳,打包配置好的容器在别的平台上的docker里面可以轻松迁移运行,避免配环境的痛苦;
- Docker 轻巧快速。比虚拟机的资源消耗更小, 非常适合高密度环境以及中小型部署,用更少的资源做更多的事情。
ubuntu/linux环境下docker安装
安装过程以Ubuntu20.05为例。首先卸载系统中已有的老版本docker
sudo apt-get remove docker docker-engine docker.io containerd runc
开始安装
- 更新软件包并安装docker依赖
更新Ubuntu软件包,也可以更新一下可更新的软件,然后安装docker的相关依赖。
sudo apt update
sudo apt upgrade
sudo apt-get install ca-certificates curl gnupg lsb-release
- 添加docker的官方gpg密钥
运行命令添加,成功的话会返回“OK”
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
- 添加docker使用的软件源
由于docker的官方软件源在域外,所以经常速度过慢甚至访问失败。此步可以添加阿里的docker源试图加速访问。
添加时注意自己的机器平台时amd64/arm64等等。
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
- 安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
- 将常用用户添加进docker组(可选但推荐)
默认设置中,只有root用户才能运行docker命令(此时docker组成员只有root用户)。故我们把当前用户添加入docker组,日后运行命令就不需要添加sudo了。
sudo usermod -aG docker $USER
- 安装常用工具
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
- 验证docker安装
sudo docker run hello-world
测试前确定docker已经运行,docker作为一个服务可以通过systemctl管理
systemctl start docker #运行docker
systemctl restart docker #重启docker
systemctl stop docker #停止docker
systemctl status docker #查看docker运行状态
当看到Hello World时就成功啦。
安装过程参考文章最详细的ubuntu 安装 docker教程。