Docker 安装与基本使用

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Docker 安装与基本使用

一、简介

  • Docker 官方文档Docker 中文文档,更新会落后于官方文档
  • 什么是Docker?Docker是一个应用打包分发部署的工具,也可以把它理解为一个轻量的虚拟机,它只虚拟软件需要的运行环境,多余的一点都不要,而普通虚拟机则是一个完整而庞大的系统,包含各种不管要不要的软件。
  • 打包:就是把软件运行所需的依赖、第三方库、软件打包到一起,变成一个 安装包
  • 分发:可以把打包好的 安装包 上传到一个镜像仓库,其他人可以非常方便的获取和安装。
  • 部署:拿着 安装包 就可以一个命令运行起来应用,自动模拟出一模一样的运行环境,不管是在 Windows/Mac/Linux
  • 特性对比
特性 普通虚拟机 Docker
跨平台 通常只能在桌面级系统运行,例如 Windows/Mac,无法在不带图形界面的服务器上运行 支持的系统非常多,各类 windowsLinux 都支持
性能 性能损耗大,内存占用高,因为是把整个完整系统都虚拟出来了 性能好,只虚拟软件所需运行环境,最大化减少没用的配置
自动化 需要手动安装所有东西 一个命令就可以自动部署好所需环境
稳定性 稳定性不高,不同系统差异大 稳定性好,不同系统都一样部署方式

二、安装

  • 桌面版:https://www.docker.com/products/docker-desktop
  • 服务器版:https://docs.docker.com/engine/install/#server
  • docker 安装成功后,可以使用 $ docker -v 查看是否安装成功。
  • docker-compose 安装成功后,可以使用 $ docker-compose -v 查看是否安装成功。
    注意:
    除了在 Linux 上安装 docker 时,不会自动安装 docker-compose,其他平台(windowmac)都会自动安装好 docker-compose
    安装好 docker 后,可以通过 $ docker-compose -v 检查是否顺带安装好了 docker-compose,没有安装好,可以按官网的方式进行安装。
  • 安装成功后,在桌面版中,只需要启动即可正常使用,就算修改了配置也是重启软件也可以,在服务器版中则需要通过 systemctl 启动或重启:
# 前面的 sudo 可更具情况进行添加
# 将 docker 加入开机自启动的列表
$ sudo systemctl enable docker
# 启动
$ sudo systemctl start docker
# 停止
$ sudo systemctl stop docker
# 重启
$ sudo systemctl restart docker
# 查看状态
$ sudo systemctl status docker
  • 如果是在Windows环境下,还需要配置WSL环境:
# 安装好 ubuntu 后,并启动,会要求输入账号密码
$ wsl --install 
# 上面等于下面,默认安装就是 Ubuntu
$ wsl --install -d Ubuntu
# 输出
正在安装: Ubuntu  
已安装 Ubuntu。  
正在启动 Ubuntu...  
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.  
For more information visit: <https://aka.ms/wslusers>  
Enter new UNIX username: xxxx  
New password:  
Retype new password:  
passwd: password updated successfully  
Installation successful!  
To run a command as administrator (user "root"), use "sudo <command>".
...
  • 安装好后,如何进入 ubuntu?
    1、可在 cmd/PowerShell 中执行 $ ubuntu 命令进入 ubuntu
    2、在系统搜索中,搜索 ubuntu 应用,打开即可。
  • 镜像配置
  • 镜像列表
镜像归属 镜像地址
Docker 中国官方镜像 https://registry.docker-cn.com
DaoCloud 镜像站 http://f1361db2.m.daocloud.io
Azure 中国镜像 https://dockerhub.azk8s.cn
科大镜像站 https://docker.mirrors.ustc.edu.cn
阿里云 https://<your_code>.mirror.aliyuncs.com 需要去注册个账号获取个私有的,这里放个别人的 https://ud6340vz.mirror.aliyuncs.com
七牛云 https://reg-mirror.qiniu.com
网易云 https://hub-mirror.c.163.com
腾讯云 https://mirror.ccs.tencentyun.com

  • 镜像格式
// 单个
"registry-mirrors": ["https://registry.docker-cn.com"]
// 可以支持多个
"registry-mirrors": ["https://registry.docker-cn.com", "https://dockerhub.azk8s.cn", ...]
  • 配置镜像:
# 方法一【使用命令修改配置】
# 1.运行以下命令来编辑 Docker 配置文件:
$ sudo vim /etc/docker/daemon.json
# 2.将以下内容复制到文件中,文件中有对象则去掉 {} 拷贝进去:
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
# 3. 保存并关闭文件。
# 4. 重启Docker服务:
$ sudo systemctl restart docker
# 5. 完成后,可以通过运行以下命令来验证是否成功:
$ docker info
# 6. 注意:如果是从其他镜像源获取镜像,需要将 https://registry.docker-cn.com 替换为相应的镜像源地址。
# 方法二:【使用 Docker Desktop 界面修改】
# 1.在 Docker Desktop 的状态栏上右键单击图标,选择 Settings。
# 2. 在 Docker Engine 选项卡中,找到 Registry mirrors 并单击 + 按钮。
# 3. 输入新的镜像源地址。
"registry-mirrors": ["https://registry.docker-cn.com"]
# 4. 单击 Apply & restart 保存更改并重启服务。
# 5. 如果按钮自带重启,则不需要管,没有 restart 则需重启 Docker 服务。
# 6. 完成后,可以通过运行以下命令来验证是否成功:
$ docker info
  • 查看当前镜像
$ docker info
• 1
  • 执行上面命令,查看输出信息中是否有 Registry Mirrors,没有默认就是国外镜像,有就说明有自定义镜像地址:
...
Registry Mirrors:
  https://registry.docker-cn.com/

三、使用

$ docker run -d -p 6379:6379 --name redis redis:latest
-d # 表示可后台运行容器(守护式运行)  
-p # 宿主机端口:docker容器端口,将容器端口映射到宿主机上,通过宿主机访问内部端口
--name # 给要运行的容器起的名字(--name xxx 与 --name=xxx 是一个意思)
redis:latest # 需要运行的镜像与版本
-i # 当容器没有客户端连接时,会自动关闭,加上该参数会一直运行着
-t # 直接进入一个容器内部,执行交互命令,exit 是退出
-it # -i 与 -t 的简写,代表上面两个独立命令的效果
-id # -i 与 -d 的简写,代表上面两个独立命令的效果
/bin/bash # 指定进入容器的解释器类型
......
  • docker-compose 方式运行
    例如:搜索 wordpress,可以通过 docker-compose.yml 下载运行。
    新建 docker-compose.yml,并将内容拷贝进去保存,然后到该目录下执行安装命令
$ docker-compose up -d
  • 等待安装完成后,则可以进行访问

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
278 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
18天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
52 2
|
20天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
48 2
|
21天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
30 3
|
24天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
197 3
|
8天前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
|
8天前
|
缓存 Ubuntu Linux
如何安装Docker
如何安装Docker
67 0
|
1月前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
46 1
|
1月前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
196 1
|
1月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
233 3