新建并启动容器:docker run [ 启动方式] image
交互启动方式(返回对话窗口或命令行终端):docker run -it --name 新起的容器名字 IMAGE_ID
以tomcat为例子:
指定端口:
前台方式:docker run -it -p 8888[把docker暴露的端口设置为8888]:8080[容器默认的暴露的端口]--name 新起的容器名字 tomcat
测试结果可以打开浏览器,通过在地址栏输入localhost:8888,可以返回该容器的界面
后台方式:docker run -d -p 8888[把docker暴露的端口设置为8888]:8080[容器默认的暴露的端口]--name 新起的容器名字 tomcat
测试结果可以打开浏览器,通过在地址栏输入localhost:8888,也可以返回该容器的界面
区别是后台输出的日志只有一个容器ID
随机分配端口:前台:docker run -it -P tomcat
端口分配的结果可以通过docker ps查看
docker run -it IMAGE_ID 新建立并进入该容器中
ps -ef :进入docker里面的容器。
查看所有在运行的容器:docker ps
查看上一个容器:docker ps -l
查看上3个容器:docker ps -n 3
查看过往的和当前运行的容器:docker ps -a
查看上一个容器只返回容器编号:docker ps -lq
退出容器:1.进入该容器,exit 命令可以关闭容器返回宿主机 2.离开不关闭,ctrl+P+Q
之前退出后启动容器:docker start 容器ID或容器名字
重启动容器:docker restart 容器ID或容器名字
停止容器:docker stop 容器ID或容器名字
强制容器:docker kill 容器ID或容器名字
删除已关闭的容器:docker rm 容器ID
删除全部容器:1. docker rm -f $(docker ps -a -q) 2.docker ps -a -p | xargs docker rm
后台启动容器方式(只返回容器ID):docker run -d --name 新的容器名字 IMageID
docker容器后台运行,必须有一个前台进程,否则会自动退出。
最佳的解决方案是:将运行的程序以前台进程的形式运行。
查看容器日志:docker logs -f -t --tail 容器ID -t:加入时间戳 -tail:数字 显示最后多少条(行)
查看容器内的进程:docker top 容器ID
查看容器内部细节: docker inspect 容器ID
在宿主机界面远程操作进入正在运行的容器并以命令行交互:docker exec -it 容器ID [bashShell命令]
exec:在容器打开新的终端,并且可以启动新的进程
docker exec -it 容器ID /bin/bash [bashShell命令] 作用类似attach 进入后再操作
重新进入:docker attach 容器ID
attach:直接进入容器启动命令的终端,不会启动新的进程。
容器数据持久化:docker cp 容器ID:容器内路径 /被复制的文件 /root/ [宿主机路径]