docker常用命令
镜像:
查看docker中的镜像加速器:docker info
查看docker中所有的已经下来的镜像:docker images
下载镜像:docker pull 镜像:版本号
删除镜像:docker rmi 镜像id(可以前置模糊匹配)
容器:
查看运行的容器:docker ps
查看所有容器:docker ps -a
删除容器:docker rm 容器id
停止容器:docker stop 容器id/容器名称(可以前置模糊匹配)
重启容器:docker restart 容器id/容器名称(可以前置模糊匹配)
docker run 常用参数 (如果要进入容器内部启动时需要带上-i和-t)
-i 保持和docker容器内的交互,启动容器时,运行的命令结束容器依然存活,不会退出
-t 为容器虚拟一个tty
-d 后台运行容器
---rm 容器启动后,执行docker stop命令容器销毁
--name 给容器起一个自定义名称
-p 宿主机(外部端口):内部端口
进入容器内部:docker exec -it 容器id/容器名称 base
docker exec -it 容器id/容器名称 sh
显示容器当前目录:pwd
将本地机器中的文件拷贝到容器中:docker cp "C:\Users\huqi\Desktop\index.html" e42ccfbbb15a:/usr/local/tomcat/webapps/ROOT/index.html
将docker容器中的文件拷贝到本地机器中:docker cp e42ccfbbb15a:/usr/local/tomcat/webapps/ROOT/index.html C:\Users\huqi\Desktop\index.htm
退出容器:exit
查看容器日志:docker logs 容器名称/容器id
-f:实时日志
--tail=10:只看后十行
--since="2022-01-15" :查看日期为2022-01-15的日志
数据卷(源文件变化容器里面的文件跟着变化):docker -v 本地文件:容器地址 镜像名
docker run -d -i -t --name tomcat -v C:\Users\huqi\Desktop\index.html:/usr/local/tomcat/webapps/ROOT/index.html -p 8080:8080 tomcat:8
* 多个数据卷之间用多个-v
Dockerfile相关
指定基础镜像:FROM
FROM java:8
把主机文件复制到镜像中:COPY
COPY target/demo4-0.0.1-SNAPSHOT.jar /demo4.jar
把主机文件复制到镜像中,支持url路径(和COPY用法一致):ADD
切换目录:WORKDIR
WORKDIR /usr/local
打开宿主机指定的端口:EXPOSE 8081
设置环境变量:ENV
ENV JAVA_HOME /usr/local/jdk
执行命令(启动docker容器后执行脚本):RUN CMD
CMD["java","jar","/springboot.jar"]
指定命令(启动docker容器时执行):ENTRYPOINT
ENTRYPOINT["java","jar","/springboot.jar"]
创建数据卷:VOLUME
VOLUME /tmp
构建dockerfile:docker build -t demo4:1 .
.表示当前目录中的Dockerfile文件
.demo4:1 表示镜像名称:版本号
linux防火墙相关
查看防火墙开启的所有端口号:firewall -cmd --list-ports
开启防火墙的端口号:firewall -cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙:firewall -cmd --reload