把jar包和 dockerfile文件放到同一目录下
#构建Docker镜像 注意后面的 . 不能省略
docker build -t your-image-name .
#运行并创建一个容器
docker run -d -p 8080:8080 --name container_name your-image-name
# 停止容器 767fce4cb990 容器ID (容器名也可以)
docker stop 767fce4cb990
docker start 767fce4cb990
docker restart 767fce4cb990
#查看当前运行的容器
docker ps
#查看所有容器
docker ps -a
#删除容器
docker rm container_name
#删除镜像
docker rmi image_name
# 查看 my_container 容器日志 实时打印
docker logs -f my_container
# Linux 上的 Docker 引擎用户也可以通过 docker run 的 --add-host 标志启用主机的默认名称 host.docker.internal。Java可以直接使用 host.docker.internal 主机名来访问宿主机的IP地址
# host.docker.internal 主机名。host-gateway 是Docker网络中宿主机的默认网关地址。
docker run -d -p 8080:8080 --add-host host.docker.internal:host-gateway --name container_name image_name
直接访问docker宿主机的IP,host.docker.internal
主机名。host-gateway
是docker网络中宿主机的默认网关地址。
# 进入到容器内部
docker exec -it container_name /bin/bash
#退出容器
exit
# 获取容器详细信息
docker inspect container_name
# 自启动
docker run -d -p 8080:8080 --name container_name --restart=always your-image-name
#使用docker拉取nginx并命名为 nginx_container 容器
docker run --restart=unless-stopped -p 9709:9709 --name nginx_container \
-v /home/nginx_container/web/html:/usr/share/nginx/html \
-v /home/nginx_container/web/log:/var/log/nginx \
-v /home/nginx_container/web/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx_container/uploadfile:/home/nginx_container/uploadfile \
-d nginx
# 如果在创建容器的时候没有指定--restart参数,可以使用update更新容器
docker update --restart=unless-stopped container-name
--restart=always # 表示容器退出时,docker会总是自动重启这个容器
--restart=on-failure:3 # 表示容器的退出状态码非0(非正常退出),自动重启容器,3是自动重启的次数。超过3此则不重启
--restart=no # 默认值,容器退出时,docker不自动重启容器
--restart=unless-stopped # 表示容器退出时总是重启,但是不考虑docker守护进程运行时就已经停止的容器