WSL(windows System for Linux)部署docker tomcat

WSL docker遇到的坑

 

一. docker run hello-world异常:Error response from daemon: OCI runtime create failed context canceled

 

1. 安装docker遇到Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

执行出现错误,原因是没启动docker,

WSL(windows System for Linux)部署docker tomcat

或者不是以root权限运行的,如果要使用 Docker 作为非 root 用户,则应考虑使用类似以下方式将用户添加到 docker 组:

$ sudo usermod -aG docker your-user

 

 

二.异常:Error response from daemon: OCI runtime create failed context canceled

 

原因是docker版本太高18.09.1 ,尝试降低docker版本17.XX,运行正常。

 

 

三.Docker中启动Tomcat外部访问报HTTP Status 404 – 未找到

场景

具体情况

使用命令: docker exec -it tomcat容器ID /bin/bash 进入到tomcat的目录

进入webapps文件夹,发现里面是空的(tomcat默认的欢迎页面实际上放在的路径应该是:webapps/ROOT/index.jsp或者index.html)

发现旁边还有个webapps.dist的文件,进入才发现原本应该在webapps文件中的文件都在webapps.dist文件中,现在也不知道为什么!!!

 

 

[x] 不支持 docker exec 命令

解决办法: 使用 nsenter 命令进入容器参考 )

 

WSL(windows System for Linux)部署docker tomcat

以后进入正在运行的docker容器时可以用这条快捷命令

sudo nsenter -p -i -u -m -n -tdocker inspect -f {{.State.Pid}} 容器名称` /bin/sh

WSL(windows System for Linux)部署docker tomcat