浅谈Docker 客户端和守护进程
Docker 守护进程
sudo docker daemon & 即可 启动docker 守护进程
sudo docker daemon Chelp 查看帮助
其中
--label 设置标签
sudo docker info 可以查看到label选项
-H 指定docker守护进程的socket,可以是:
tcp://host:post
unix:///patch/to/socket
fd://* or fd://socketfd
也可以设置DOCKER_HOST环境变量来设置
export DOCKER_HOST
一般都是使用 sudo server docker start 启动docker守护进程
如果使用sudo server docker start 启动docker守护进程
docker 守护的进程配文件位置在
/etc/default/docker
其中 DOCKER_OPTS 可以填入 sudo docker daemon Chelp 中的选项
对应的docker客户端也可以指定 -H 连接docker守护进程的socket
例如:
docker -H tcp://127.0.0.1:2375 run -it ubuntu:14.04 /bin/bash
容器的基本操作
启动容器
sudo docker run ubuntu echo “hellow”
启动交互式容器
sudo docker run -i -t ubuntu /bin/bash
- -i Cinteractive=true
- -t Ctty=true
查看容器
sudo docker ps [-a ]|[ -l]
- -a 列出所有的容器
- -l 列出最新创建的一个容器
CONTAINER ID
容器启动时建立的唯一ID
NAME
自动建的容器的名字
sudo docker inspect CONTAINER ID or NAME
检查容器
自定义容器名
sudo docker run --name=名字 -i -t ubuntu /bin/bash
重新启动停止的容器
sudo docker start [-i] NAME
删除停止容器
sudo docker rm NAME
守护式容器
启动守护式容器
交互式容器以 Ctrl+P Ctrl+Q 退出容器
或者
直接启动守护守护式容器
docker run -d CONTAINER ID or NAME
进入容器
docker attach CONTAINER ID or NAME
查看容器日志
docker logs [-f] [-t] [--tail] CONTAINER ID or NAME
- -f Cfollows=true|false 默认false 一直跟踪
- -t Ctimestamps=true|false 默认false 在返回的结果上加上时间
- Ctail=”all” 返回结尾处多少数量的日志
查看容器内进程
docker top CONTAINER ID or NAME
在运行中的容器内启动新的进程
docker exec [-d] [-i] [-t] CONTAINER ID or NAME [COMMAND] [ARG ...]
停止守护式容器
docker stop CONTAINER ID or NAME docker kill CONTAINER ID or NAME
设置容器的端口映射
docker run [-P] [-p]
-P Cpublish-all=true|false 默认false
docker run -P -i -t ubuntu /bin/bash
为容器暴露的所有端口进行映射
-p Cpublish=[]
docker run -p 80 -i -t ubuntu /bin/bash
只指定要映射的容器的端口,宿主机的端口是随机的
docker run -p 8080:80 -i -t ubuntu /bin/bash
同时指定宿主机端口和容器端口
docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash
指定映射容器的那些端口