简单 Docker 安装入门教程 - Debian / Ubuntu 配置国内镜像源方法

.. 什么是 Docker?它是一种类似轻量级虚拟化容器技术的开源项目,能将复杂的应用程序打包成「镜像」,供用户快速拉取部署,以独立「容器」的形式在服务器或本机上运行。

Docker 容器

以普通用户的角度看待的话,Docker 部署的程序 (容器) 就像更加高级的「绿色版」工具一样,每款应用运行时都「拥有自己私有的虚拟化环境」,多个容器之间不会互相影响,也不会影响宿主机器,相互隔离,使用起来非常安全方便,优点非常多。

Docker 和虚拟机有什么区别?

比起传统的虚拟机 (比如 VMWareParallels Desktop 等),在运行应用程序前,还要模拟运行一整套底层的操作系统相比,Docker 则是通过「隔离」的技术来实现环境虚拟化的,实际上用同一个 Linux 内核去跑应用,节省掉模拟操作系统所耗费的巨大资源以及模拟的性能损耗,从而使得应用程序的运行速度和原生安装几乎一样。

Docker 既解决复杂部署和运维的问题,又以轻量虚拟化实现了程序之间的隔离,性能上还没有任何明显的损失,等等的好处使得 Docker 成为了当今最主流和最热门的技术!所以无论是在服务器NAS 上要安装什么软件,大多数时候都会推荐使用 Docker 进行部署。

Debian / Ubuntu / CentOS 简单安装 Docker 教程:

那么下面,我们就一起来看看,怎么样在 Linux 上安装 Docker 吧!教程以 DebianUbuntu 作为例子,其实 CentOSFedora 类也基本一样。大家动动手就能轻松搞定 Docker,并用它来部署安装各种各样的项目了。

#切换到 Root 账户 su root  # 建议先升级一下系统 (Ubuntu / Debian 系) apt-get update apt-get upgrade # 如果你是 CentOS、红帽系列则使用: yum update yum upgrade  # 安装 Docker curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh

Docker 更换配置国内镜像:

使用 Docker 构建和部署应用程序时,几乎都需要下载一些基础镜像和依赖库。但由于国内网络比较特殊,想要从官方的 Docker Hub 仓库下载会极其缓慢,甚至会出现连接超时、无法下载等情况。为了解决网络问题,我们需要配置使用国内的镜像仓库,来加快镜像的下载速度。

创建或修改 /etc/docker/daemon.json 文件

vim /etc/docker/daemon.json

json 文件的内容如下:

{     "registry-mirrors": [         "http://hub-mirror.c.163.com",         "https://docker.mirrors.ustc.edu.cn",         "https://registry.docker-cn.com"     ] }

在国内其实有多个 Docker 镜像源可以选择,比如有:阿里云镜像、网易镜像、DaoCloud 镜像、ustc、ustc 中科大的镜像等,大家可以择优选择。

修改之后重启 Docker 服务:

sudo systemctl daemon-reload sudo systemctl restart docker

Docker 常用操作命令:

安装 Docker 之后,你就可以使用一些命令进行操作了。

下载并运行镜像:

docker run -d -p 6379:6379 -v /host/dir:/my/test --name nginx nginx:latest # 示例的参数解释 # -d 表示后台运行容器(守护式运行) # -p 宿主机端口:docker容器端口,将容器端口映射到宿主机上,通过宿主机访问内部端口 # -v 将宿主机的目录挂载到容器中去,例子中是将主机的 /host/dir 挂载到容器中的 /my/test # --name  要运行的容器起的名字(--name xxx 与 --name=xxx 是一个意思) # nginx:latest 指定下载的镜像以及版本

查看所有容器 ID:

docker ps -aq

启动、停止、杀死、重启一个容器

docker start Name或者ID docker stop Name或者ID docker kill Name或者ID docker restart name或者ID

进入容器内部,执行任意的命令:

#docker exec :在运行的容器中执行命令 # -d :分离模式: 在后台运行 # -i :即使没有附加也保持STDIN(标准输入) 打开,以交互模式运行容器,通常与 -t 同时使用; # -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; docker exec -it 容器ID /bin/bash

停止所有容器:

docker stop $(docker ps -a -q)

查看所有已下载的镜像

docker images

删除指定镜像

docker rmi 

从容器复制文件到宿主机:

docker cp nginx:/web/js/file.js /host/path # docker cp 容器名:容器文件的路径 宿主机的路径

从宿主机复制文件到容器:

docker cp /host/path/file.js nginx:/web/js # docker cp 宿主机的文件 容器名:容器里的路径

Docker 的操作有很多,大家可以查看官方的文档或找找网上的教程。一些如 群晖 NASQNAP 等都会提供类似 Container Station 等图形界面方便操作。你也可以在 Linux 上部署 Portainer 等 WEB 界面来使用。当然了,如果喜欢,多学习一下 Docker 的命令行操作其实也是不错的。


想在手机阅读更多Linux资讯?下载【香港硅谷】Android应用
分享到Facebook
技术平台: Nasthon Systems