网站首页 > 技术文章 正文
简介
上一篇文章我们介绍了docker的发展历史,以及docker的强大应用,本篇文章我们将正式进入docker的学习,讲解如何安装docker。
docker基本组成
- Image(镜像):镜像就好比一个模板,我们可以通过这个模板来创建容器服务,mysql镜像===>run==>mysql5.2容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。
- container(容器):docker利用容器技术,独立运行一个或者一组应用 通过镜像来创建,可以通过创建、运行、停止、删除等命令来控制它,我们可以将容器看做一个简单的Linux系统。
- repository(仓库):存放 镜像(image)的地方,分为公有仓库和私有仓库。
安装docker
检查卸载老版本docker
ubuntu下自带了docker的库,不需要添加新的源。 但是ubuntu自带的docker版本太低,需要先卸载旧的再安装新的。
注:docker的旧版本不一定被称为docker,docker.io 或 docker-engine也有可能,所以我们卸载的命令为:
bash$ apt-get remove docker docker-engine docker.io containerd runc
如果不能正常卸载,出现如下情况,显示无权限时,需要添加管理员权限才可进行卸载:
我们就需要使用sudo apt-get remove docker docker-engine docker.io containerd runc命令使用root权限来进行卸载。
- 更新软件包
在终端中执行以下命令来更新Ubuntu软件包列表和已安装软件的版本:
bashsudo apt update
sudo apt upgrade
- 安装docker依赖
Docker在Ubuntu上依赖一些软件包。执行以下命令来安装这些依赖:
bashapt-get install ca-certificates curl gnupg lsb-release
- 添加Docker官方GPG密钥
执行以下命令来添加Docker官方的GPG密钥:
bashcurl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
结果如下:
- 添加Docker软件源
执行以下命令来添加Docker的软件源:
bashsudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
注:该命令需要使用root权限
- 安装docker
执行以下命令来安装Docker:
bashapt-get install docker-ce docker-ce-cli containerd.io
- 配置用户组(可选)
默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。命令如下:
bashsudo usermod -aG docker $USER
注:重新登录才能使更改生效。
运行docker
我们可以通过启动docker来验证我们是否成功安装。命令如下:
bashsystemctl start docker
安装工具
bashapt-get -y install apt-transport-https ca-certificates curl software-properties-common
重启docker
bashservice docker restart
验证是否成功
bashsudo docker run hello-world
运行命令后,结果如下:
因为我们之前没有拉取过hello-world,所以运行命令后会出现本地没有该镜像,并且会自动拉取的操作。
查看版本
我们可以通过下面的命令来查看docker的版本
bashsudo docker version
结果如下:
查看镜像
上面我们拉取了hello-world的镜像,现在我们可以通过命令来查看镜像,命令如下:
bashsudo docker images
结果如下图:
出现上述情况,即表示我们成功在Ubuntu系统上安装了docker。
- 上一篇: Docker 快速入门实操教程(完结)
- 下一篇: 宝塔面板如何强制修改MySQL管理密码?
猜你喜欢
- 2024-12-14 如何配置全世界最小的 MySQL 服务器
- 2024-12-14 ubuntu(linux)系统使用技巧总结
- 2024-12-14 Linux安装基于rsyslog+loganalyzer的日志系统教程
- 2024-12-14 使用 Nginx 作为 MySQL 的 TCP 负载均衡器
- 2024-12-14 基于Docker一键LNMP(Nginx+MySQL+PHP7/5+Redis)安装程序
- 2024-12-14 mysql的主从搭建以及实现主从切换方法
- 2024-12-14 宝塔面板Linux版本常用命令有哪些?
- 2024-12-14 Ubuntu Linux部署免费HTTPS证书的步骤
- 2024-12-14 WSL 服务自动启动的正确方法
- 2024-12-14 一分钟搭建MySQL InnoDB Cluster高可用集群
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)