1.查看运行中的容器
docker ps
//展示所有容器信息
docker ps -a
2.运行容器
前台运行(当前终端将会卡住)
docker run name
为什么会无法访问到80端口?
因为没有80端口是容器内部网络,从终端无法直接访问
后台运行+端口映射
docker run -d -p 80:80 nginx(镜像名称)
-d 后台运行
-p 端口映射 主机端口号:容器端口号
-P 暴露容器中所有端口,并且在主机中使用随机端口去映射到这些暴露的端口
3.删除容器
docker rm 容器id
//强制删除
docker rm 容器id -f
4.停止容器
docker stop 容器id
5.启动容器
docker start 容器id
6.指定容器名称
docker run -d -p 80:80 --name nginx01(自己取的容器名称) nginx(镜像名称)
7.退出时删除容器
用于测试容器,只要容器停止就会删除(不推荐使用)
docker run --rm nginx
8.重启策略
指定容器关闭的重启策略,有三种可选策略
no(默认):表示不重启
on-failure:当失败时重启,还可以加上:3指定最多重启3次,如果3次重启都失败了就不再重启了
always:只要已关闭就自动重启
docker run -d --name nginx01 -P --restart on-failure:3 nginx
//手动stop不会重启,只有在意外退出时才回重启
9.环境变量
查看系统中的环境变量
echo $PATH
创建容器时指定环境变量
docker run -d -P --name nginx_env -e JAVA_ENV=dev -e JAVA_VM=G1 nginx
查看指定容器的环境变量
docker inspect nginx_env
docker exec -it nginx_env env
10.容器资源
限制容器资源大小
docker run -d --rm -m 2g(资源大小) --cpus 1(cpu大小) nginx
查看容器状态
docker ststs 容器id
11.容器的日志以及进入容器
查看日志
docker logs nginx01
//实时追踪日志信息
docker logs nginx01 -f
//指定多少行
docker logs nginx01 -n 20 nginx01
进入容器内部
docker exec -it nginx01 /bin/bash