参考资料:
https://www.gitbook.com/book/yeasy/docker_practice/details
https://segmentfault.com/a/1190000002766882
从 get.docker.com 获取安装脚本并安装:
curl -sSL https://get.docker.com/ | sh
1.安装与测试
测试:
docker run --rm hello-world
安装镜像:
docker pull v2ray/official
docker run v2ray/official
docker run -it v2ray/official
docker pull v2ray/dev
docker run v2ray/dev
docker run -it v2ray/dev
列出镜像:
docker images
列出所有容器:
sudo docker ps -a
后台运行&&起个好名字::
sudo docker run -d v2ray/official
sudo docker run --name v2ray_docker -d v2ray/official
不用麻烦地Sudo:
````
1.确认有没有docker组:
$ cat /etc/group | grep docker
2.没有的话用root用户运行这个:
groupadd docker
3.添加用户:
sudo usermod -aG docker pi
pi 为需要使用sudo的用户
重新登录后生效。
## 端口绑定:
随便绑定个端口到外部:
```
docker run -P -d --name v2ray_docker v2ray/dev
```
使用 hostPort:containerPort 格式本地的 8000端口映射到容器的 8001 端口:
```
docker run -d -p 8000:8001 v2ray/dev
```
此时默认会绑定本地所有接口上的所有地址。
-p 标记可以多次使用来绑定多个端口
```
docker run -d -p 5000:5000 -p 3000:80 v2ray/dev
```
lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。
## 启动,停止、删除容器:
启动:
sudo docker start -ai v2ray_docker
使用 -a 参数将容器的输出导出到终端,同时使用 -i 参数进行交互式的操作。
停止:
sudo docker stop v2ray_docker
删除:
sudo docker rm delete_docker
挂载本地目录:
```
docker run -v /root/config:/etc/v2ray/ v2ray/dec
```
从容器内复制文件到指定路径。语法:
docker cp container:path hostpath
```
docker cp 1c1eba6723aa:/etc/v2ray/config.json /root/config
```
要获取容器的输出信息,可以通过 docker logs 命令。
```
docker logs [container ID or NAMES]
```
可以使用 docker stop 来终止一个运行中的容器。此外,当Docker容器中指定的应用终结时,容器也自动终止。终止状态的容器可以用 docker ps -a 命令看到。
V2Ray 提供了两个预编译的 Docker image:
v2ray/official : 包含最新发布的版本,每周跟随新版本更新;
v2ray/dev : 包含由最新的代码编译而成的程序文件,随代码库更新;
两个 image 的文件结构相同:
/etc/v2ray/config.json: 配置文件
/usr/bin/v2ray/v2ray: V2Ray 主程序
如何临时退出一个正在交互的容器的终端,而不终止它?
答:按 Ctrl-p Ctrl-q。如果按 Ctrl-c 往往会让容器内应用进程终止,进而会终止容器。