容器挂载
docker run -d -it --name logstash -p 4560:4560 \
--link elasticsearch:es \
-e TZ="Asia/Shanghai" \
-v /mydata/logstash/pipeline/:/usr/share/logstash/pipeline/ \
-v /mydata/logstash/config/:/usr/share/logstash/config/ \
-d logstash:6.4.0
如上代码就是一个简单的容器挂载
docker run -d -it –name logstash -p 4560:4560
docker run docker启动一个
启动一个 logsstash 容器
-d 指定网络类型 此处默认
–name 指定容器名称
-p : 是容器内部端口绑定到指定的主机端口
–link elasticsearch:es \
容器链接上ES并设置端口号 es==端口号
-e TZ=“Asia/Shanghai” \
设置容器时间地区 此为上海时间
-v /mydata/logstash/pipeline/:/usr/share/logstash/pipeline/ \
容器目录挂载,
挂载后就不需要去容器里面进行更改了
,前者是新创建的目录,
后者是容器所在的目录
,
挂载成功后可以同步实时刷新
-v /mydata/logstash/config/:/usr/share/logstash/config/ \
容器目录挂载,假如容器logstash中没有config目录或者目录下没有xx.conf的配置文件,而你在 /mydata/logstash/config下创建了xx.conf配置文件是不会挂载成功的,挂载的前提是容器中有这个目录和配置,如果容器的中没有这个配置,你挂载了这个配置是错误的,就好比你在/mydata/logstash/config/目录下创建了logstash.conf配置文件,而容器目录中没有这个配置,容器下/logstash/config/ 目录下是logstash.yml,就不会成功,如果容器下/logstash/config/ 目录下是logstash.conf就挂载成功了,因为配置文件名称对应上了,所以容器中的目录下有什么配置文件一定要查看清楚,看它有没有你要挂载的文件名称,我们可以先什么都不挂载,先启动容器进去看它下面一些关键的配置文件位置,和我们需要挂载的文件,清楚有删除容器重新挂载启动一次
重点
容器的配置文件名称和后缀一定要和你的挂载的配置文件名称后缀一模一样
进入容器
docker exec -it 容器名 /bin/bash
删除容器
docker rm 容器名