(二)Docker容器学习

192 阅读1分钟

1.容器操作

查看容器:docker container ps、docker container ls(看到的是正在运行的)
         docker container ps -a、docker container ls -a(查看所有容器)
         docker container ps -aq(查看所有容器)
创建容器:docker container run containerId
停止容器:docker container stop containerId
         docker container stop $(docker container ps -aq)(停止所有容器)
删除容器:docker container rm containerId
         docker container rm $(docker container ps -aq)(删除所有容器)
         docker container rm containerId -f(强制删除)   

2.端口映射

在容器里启动nginx:docker container start containerId
在容器里进行端口映射: docker container run -p 外网端口:容器端口 nginx
eg:
    docker container run -p 84::80 nginx
    访问:127.0.0.1::84

3.attach模式与detach模式(前台运行模式与后台运行模式)

attach模式与detach模式,也称为前台模式与后台模式。前台模式,在刷新页面时容器里会有日志输出,且必须在前台运行,页面关闭,则服务会挂掉;后台模式,容器里不会有任何日志输出,在后台运行。

detach模式:docker container run --detach -p 84:80 nginx
detach模式下查看日志:
    docker container logs containerId(不会实时更新)
    docker container logs -f containerId(实时更新)
    ctrl+c退出日志更新

将detach模式切换为attach模式:docker attach containerId

4.交互模式(使用shell命令进行各种操作)

直接使用交互模式
docker container run -it ubuntu sh  
用exit命令退出交互模式后,导致容器停止运行
间接使用交互模式
docker container run --detach -p 80:80 nginx
docker exec -it containerId sh   
使用了--detach、exec字段后,exit退出交互模式,不会导致容器中断运行

遇到的问题?

image.png

image.png

以上这两图中遇到的问题,在网上查了好久,做了些许调整,均没有任何效果。直到将容器从window切换到linux,再运行就正常了!

image.png