一、镜像
-
生成镜像
1.配置生成镜像的Dockerfile文件: 在jar包或软件同目录下创建名为Dockerfile的文件,编辑内容: FROM java:8 MAINTAINER yuantx ADD spring-boot-16-0.0.1-SNAPSHOT.jar demo.jar EXPOSE 8083 ENTRYPOINT ["java","-jar","demo.jar"] 注: from指令指明了当前镜像的基镜像,编译当前镜像时自动下载基镜像。 MAINTAINER指明作者 ADD 复制jar文件到镜像中去并重命名为demo.jar EXPOSE暴露8080端口 ENTRYPOINT启动时执行java -jar demo.jar 2.生成镜像命令 docker build -t 镜像名称 .(“.”点符号切勿忘记)
-
查看镜像
docker images
-
查看镜像详情
docker inspect 镜像ID
-
删除镜像
docker rmi 镜像ID或名称
-
备份镜像
docker save 镜像ID或名称 -o ~/demo.tar(xxx.tar) docker export compose_redis_1 >compose_redis_1.tar (生成镜像:cat compose_redis_1.tar | sudo docker import - redis:latest)
推荐使用 镜像名称(镜像仓库:标签),导入的时候,名称不会变
-
导入镜像
docker load -i xxx.tar
-
镜像重命名
docker tag 镜像ID nginx:1.15(仓库:标签)
二、容器
-
运行容器
docker run -d -p 80:80 -p 443:443 --name xxxx 镜像名称 -d指后台运行 -p 80:80指将容器的80端口映射到服务器上的80端口
-
查看容器
docker ps(查看运行中的容器) docker ps -a(查看所有的容器)
-
容器名称重命名
docker rename 原容器名 新容器名
-
启动容器
docker start 容器名称或ID docker restart 容器名称或ID
-
关闭容器
docker stop 容器名称或ID docker kill 容器名称或ID
-
删除容器
docker rm -f 容器名称或ID
-
进入容器
docker exec -i -t 容器名称或ID /bin/bash 进入后,操作跟linux一样,ls,cat,cd等
-
查看容器日志
docker logs -f 容器名称或ID Options: --details 显示更多的信息 -f, --follow 跟踪实时日志 --since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟) --tail string 从日志末尾显示多少行日志, 默认是all -t, --timestamps 显示时间戳 --until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟) docker logs -t --tail 100 --since="2019-06-13" compose_iforbao_1 | grep 103758
-
容器与宿主机之间的文件拷贝
宿主机拷贝到docker容器中: docker cp /opt/app/aaa.txt compose_nginx_1:/etc/nginx/ docker容器中拷贝到宿主机上: docker cp compose_nginx_1:/etc/nginx/aaa.txt /opt/app/
-
查看容器日志路径和Ip
获取docker容器的日志路径: docker inspect --format '{{.LogPath}}' compose_iforbao_1 获取容器的IPAddress: docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' compose_iforbao_1