docker-logo

什么是docker

Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口

为什么要用docker

  • 更高效的利用系统资源
  • 更快速的启动时间
  • 一致的运行环境
  • 持续交付和部署
  • 更轻松的迁移
  • 更轻松的维护和扩展

安装

  • 安装要求

    • 64位操作系统
    • Linux内核版本高于3.10
    • 64位CPU
  • 安装步骤(redhat分支)

    • 卸载旧版本

      1
      sudo yum remove docker docker-client  docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    • 安装依赖包

      1
      sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    • 安装Docker CE

      1
      2
      3
      4
      5
      sudo yum-config-manager \
      --add-repo \
      https://download.docker.com/linux/centos/docker-ce.repo

      sudo yum install docker-ce docker-ce-cli containerd.io
  • 安装步骤(debian分支)

    • 卸载旧版本

      1
      sudo apt remove docker docker-engine docker.io containerd runc
    • 安装依赖包

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      #更新软件源
      sudo apt update sudo apt upgrade
      #安装必要组件
      apt-get install ca-certificates curl gnupg lsb-release
      #添加Docker官方GPG密钥
      curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
      #设置稳定版仓库(阿里云镜像源)
      sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
      #安装Docker CE
      sudo apt-get install docker-ce docker-ce-cli containerd.io
  • 启动Docker CE

    1
    sudo systemctl start docker
  • 设置docker自启动

    1
    sudo systemctl enable docker

镜像与仓库

如果你的网络状况良好,可以不需要使用镜像源,docker自带的dockerhub是最大的镜像仓库。

如果你的网络不好,那么就得考虑更换镜像源了

修改docker的daemon配置文件

1
vim /etc/docker/daemon.json

将常见的国内镜像源添加到配置文件中,如网易,清华,百度,dockercn,中科大,阿里镜像源等。

1
2
3
4
5
6
7
8
9
10
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://ustc-edu-cn.mirror.aliyuncs.com",
"https://mirror.baidubce.com",
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"https://cr.console.aliyun.com/"
]
}

重新读取配置,重启docker,现在你的docker大概率也不会因为网络拉不到镜像。

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

下面介绍一下镜像很丰富的dockerhub

网址:https://hub.docker.com/

dockerhub

在这里可以查找和使用你感兴趣的镜像

容器

容器就是启动服务,下面以一个qbittorrent的容器为例:

qBittorrent 是一个开源的 BitTorrent 客户端,22年中开始,我的磁力链接都是交给它下载的。

qbittorrent

在镜像页,可以看到镜像的使用说明

qbittorrent-docker

下面是启动qbittorrent的命令:

1
2
3
4
5
6
7
8
docker run -d \
--name qbittorrent \
--restart unless-stopped \
-p 8080:8080 \
-v /home/qbittorrent/config:/config \
-v /home/qbittorrent/downloads:/downloads \
-v /home/qbittorrent/torrents:/torrents \
-v /home/qbittorrent/watch:/watch \
  • -d 后台运行
  • –name 容器名
  • –restart 重启策略
  • -p 端口映射 #将端口映射到宿主机,也就是linux机器的8080端口
  • -v 文件夹映射 #将配置文件夹,下载文件夹,种子文件夹,观看文件夹映射到宿主机 防止docker被删下载的东西没了

启动成功之后,可以使用docker ps查看状态

docker-ps
如果你开启了防火墙,记得放行对应的端口

启动后,在浏览器输入http://ip:8080/就可以访问qbittorrent了,默认账号/密码是admin/adminadmin 记得改密码

qbittorrent-ui

正常进入这个网页,你已经对docker有一定的了解

推荐一些资料