如何在容器内查找/访问/ var / log / jasmin

时间:2018-11-27 12:47:18

标签: docker jasmine

我已使用命令

使用名称为jasmin_01的docker容器创建了容器

docker run -d -p 1401:1401 -p 2775:2775 -p 8990:8990 --name jasmin_01 jookies/jasmin:latest

现在,我正在尝试通过运行

来访问位于容器内/ var / log / jasmin中的日志文件

docker run -d -v /home/user/jasmin_logs:/var/log/jasmin --name jasmin_01 jookies/jasmin:latest 而我得到了错误

  
    

守护程序的错误响应:冲突。容器名称“ / jasmin_01”已被容器“ 6bc05cf61a03b74f2b18d05378048e201e3f6ded768ddaf3f2660c39f9d76888”使用。您必须删除(或重命名)该容器才能重用该名称。

  

我该如何解决?

3 个答案:

答案 0 :(得分:1)

该错误完全表明该问题:您正在尝试启动一个具有相同名称(jasmin01)的新容器。添加唯一名称,停止现有容器,或删除--name,以便Docker将自动创建唯一名称。

答案 1 :(得分:0)

冲突,原因是容器名称docker ps -a已被使用。您可以通过docker stop jasmin_01 docker rm $(docker ps -a -q) docker run -d -v /home/user/jasmin_logs:/var/log/jasmin --name jasmin_01 jookies/jasmin:latest 进行检查。解决此问题的方法是:

docker run -d -v /home/user/jasmin_logs:/var/log/jasmin --name jasmin_02 jookies/jasmin:latest

或者最简单的方法是更改​​您的新容器名称

const splitMyDateString = str => {
  const [day, mon, yr] = str.split('-').map(Number);
  return [yr, mon, day];
};

const makeDate = ([yr, mon, day]) => {
  return new Date(yr, mon - 1, day);
};

let minDate = makeDate(splitMyDateString("27-05-2019"));
let maxDate = makeDate(splitMyDateString("27-05-2019"));
let date = makeDate(splitMyDateString("13-02-2018"));
let valid = (date >= minDate) && (date <= maxDate);

答案 2 :(得分:0)

docker run --name foo运行名为foo

的新容器

因此,如果您尝试两次,确实会看到重复的名称错误

您可能想要docker exec

$ docker help exec

Usage:  docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Run a command in a running container

例如docker exec jasmine_01 cat /var/log/jasmine/jasmine.log