Docker使用笔记

参考资料:
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 往往会让容器内应用进程终止,进而会终止容器。
Comments
Write a Comment