什么是Docker?
Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。
Docker 自开源后受到广泛的关注和讨论,至今其 GitHub 项目 已经超过 5 万 2 千个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底,dotCloud 公司决定改名为 Docker。Docker 最初是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持;Google 也在其 PaaS 产品中广泛应用 Docker。
Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。
Docker资源
官方镜像站:https://hub.docker.com/
官方部署教程:https://docs.docker.com/install/
docker图形管理工具:https://www.portainer.io/
一键部署:docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --name portainer --restart=always lihaixin/portainer:me
Docker部署示例:用docker部署v2ray
创建v2ray的配置文件:
mkdir /etc/v2ray
cd /etc/v2ray/
wget http://pikachu.im/.script/config.json
chmod 755 config.json
v2ray的官方镜像:
https://hub.docker.com/r/v2ray/official
一键运行v2ray:
docker run -d --name v2ray -v /etc/v2ray:/etc/v2ray -p 8888:8888 v2ray/official v2ray -config=/etc/v2ray/config.json
一键运行v2ray(tcp+mkcp):
docker run -d --name v2ray -v /etc/v2ray:/etc/v2ray -p 8888:8888 -p 2333:2333/udp v2ray/official v2ray -config=/etc/v2ray/config.json
参数解释:
-d
后台运行
--name
自定义容器名称
-v
主机目录与容器目录的映射
-p
主机端口与容器端口的映射
v2ray/official
使用的镜像
v2ray -config
配置文件路径
可用 docker container ls
查看容器运行状态
v2ray 容器进程管理:
docker container start v2ray
docker container stop v2ray
docker container restart v2ray
docker container logs v2ray
Docker部署示例:用docker图形化管理工具portainer部署v2ray
使用portainer部署容器十分容易,见下面2图:
修改配置: