windows安装docker
Windows安装docker
安装Docker Desktop
1、下载安装包
下载地址:https://docs.docker.com/desktop/setup/install/windows-install/
2、下载完成后,双击下载的安装文件(通常是一个.exe文件),然后按照安装向导的指示进行安装。在安装过程中,确保选择了“Start Docker Desktop”选项以便安装完成后自动启动Docker。
3.启动Docker Desktop:
安装完成后,打开Docker Desktop。首次启动时,它可能会要求你登录你的Docker Hub账户(如果你有的话),或者你可以选择跳过登录。
4.配置Docker Desktop:
Docker Desktop启动后,你可以通过其设置界面来配置一些选项,比如资源分配(CPU、内存、磁盘空间等),以及切换不同的实验性功能等。
5.验证安装:
打开命令行工具(如CMD或PowerShell),输入以下命令来验证Docker是否正确安装并运行:
docker --version
如果看到Docker的版本信息,说明Docker已成功安装。
wsl --update 装 适用于 Linux 的 Windows 子系统。
常用的docker命令:
一、基础信息查看
#查看版本
docker -v
docker version
#查看整体信息(镜像、容器、存储驱动)
docker info
#查看本地所有镜像
docker images
#查看运行中容器
docker ps
#查看全部容器(含已停止)
docker ps -a
二、镜像操作(打包 Java 项目核心)
#拉取镜像(jdk、jenkins、mysql等)
docker pull openjdk:11
根据Dockerfile构建镜像
docker build -t java-demo:1.0 .
给镜像打新标签
docker tag java-demo:1.0 localhost:5000/java-demo:1.0
删除镜像
docker rmi 镜像ID/镜像名
批量删除无用虚悬镜像
docker image prune
导出/导入镜像(离线使用)
docker save -o demo.tar java-demo:1.0
docker load -i demo.tar
三、容器启停(日常最多)
#创建并启动容器(最常用,示例jenkins)
docker run -d -p 8080:8080 --name jenkins-server jenkinsci/blueocean
#参数说明
#-d 后台运行;-p 端口映射;–name 指定容器名;-v 数据挂载
进入运行中容器终端
docker exec -it jenkins-server bash
启动/停止/重启容器
docker start 容器名/ID
docker stop 容器名/ID
docker restart 容器名/ID
删除已停止容器
docker rm 容器ID/容器名
强制删除运行容器
docker rm -f 容器名
#查看容器实时日志(Java项目排错必备)
docker logs -f 容器名
查看容器资源占用(CPU/内存)
docker stats
四、数据挂载与文件拷贝
#容器文件复制到本地
docker cp 容器名:/app/target/demo.jar D:/code/
本地文件传到容器
docker cp D:/demo.jar 容器名:/app/
#清理所有停止容器、无用镜像、卷
docker system prune -a
五、私有仓库 & 网络(CI/CD 流水线用)
#启动本地私有镜像仓库
docker run -d -p 5000:5000 --name registry registry
推送镜像到本地仓库
docker push localhost:5000/java-demo:1.0
查看本地仓库镜像
curl http://localhost:5000/v2/_catalog
#查看docker网络
docker network ls
六、Java 项目实战成套命令(直接复制练习)
打包镜像
docker build -t springboot-demo:1.0 .
启动服务容器
docker run -d -p 8090:8080 --name demo-app springboot-demo:1.0
实时看项目日志排查报错
docker logs -f demo-app
进入容器调试
docker exec -it demo-app bash
七、高频清理命令(Windows 磁盘容易占满)
删除所有停止的容器
docker container prune
#删除所有无用镜像
docker image prune -a
#一键清理全部闲置资源(谨慎)
docker system prune -a --volumes
docker常用命令及示列:
docker ps 查看运行容器列表
docker ps -a 查看所有容器
docker run 容器运行
docker images 查看镜像列表
docker logs 查看容器日志
docker logs -f -t --tail=100 容器名称|容器id
docker exec 进入容器内部
docker exec -it 容器名称 bash
docker stats 查看容器状态
docker top 查看容器运行进程
docker rm 容器删除
docker rmi 镜像删除
docker start 容器启动
docker stop 容器暂停
docker restart 容器重新启动
docker commit–> 容器转镜像
docker built—>Dockerfile
docker load 加载
docker save 保存
docker cp 容器名:容器路径 目标路径
宿主机3307–3306容器机端口
宿主机3308–3306容器机端口
宿主机3309–3306容器机端口
常用docker-开发相关命令集
docker logs
docker exec
docker ps
docker stats
docker top
docker restart
-d 后台运行的意思
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
-p 指定端口映射
-v 挂载文件,本地:docker绝对路径
bash -c ‘’ 执行脚本命令
示列:
docker run -d -p 8086:8086 -v /var/www/java:/var
-v /var/www/java/huate/logs/user:/huate/logs/user
-v /var/www/java/huate/image:/huate/image
–name HuaTeUser java8 bash -c ‘java -jar /var/HuaTeUser-20200430-1240.jar --spring.profiles.active=prod’
Dockerfile内容:
FROM:指定基础镜像,必须为第一个命令
格式:
FROM
FROM :
FROM @
示例:
FROM mysql:5.6
注:
tag或digest是可选的,如果不使用这两个值时,会使用latest版本的基础镜像
MAINTAINER: 维护者信息
格式:
MAINTAINER <name>
示例:
MAINTAINER Jasper Xu
MAINTAINER sorex@163.com
MAINTAINER Jasper Xu <sorex@163.com>
RUN:构建镜像时执行的命令
RUN用于在镜像容器中执行命令,其有以下两种命令执行方式:
shell执行
格式:
RUN <command>
exec执行
格式:
RUN ["executable", "param1", "param2"]
示例:
RUN ["executable", "param1", "param2"]
RUN apk update
RUN ["/etc/execfile", "arg1", "arg1"]
注:
RUN指令创建的中间镜像会被缓存,并会在下次构建中使用。如果不想使用这些缓存镜像,可以在构建时指定--no-cache参数,如:docker build --no-cache
ADD:将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget
格式:
ADD <src>... <dest>
ADD ["<src>",... "<dest>"] 用于支持包含空格的路径
示例:
ADD hom* /mydir/ # 添加所有以"hom"开头的文件
ADD hom?.txt /mydir/ # ? 替代一个单字符,例如:"home.txt"
ADD test relativeDir/ # 添加 "test" 到 `WORKDIR`/relativeDir/
ADD test /absoluteDir/ # 添加 "test" 到 /absoluteDir/
COPY:功能类似ADD,但是是不会自动解压文件,也不能访问网络资源
CMD:构建容器后调用,也就是在容器启动时才进行调用。
格式:
CMD ["executable","param1","param2"] (执行可执行文件,优先)
CMD ["param1","param2"] (设置了ENTRYPOINT,则直接调用ENTRYPOINT添加参数)
CMD command param1 param2 (执行shell内部命令)
示例:
CMD echo "This is a test." | wc -
CMD ["/usr/bin/wc","--help"]
注:
CMD不同于RUN,CMD用于指定在容器启动时所要执行的命令,而RUN用于指定镜像构建时所要执行的命令。
ENTRYPOINT:配置容器,使其可执行化。配合CMD可省去"application",只使用参数。
格式:
ENTRYPOINT ["executable", "param1", "param2"] (可执行文件, 优先)
ENTRYPOINT command param1 param2 (shell内部命令)
示例:
FROM ubuntu
ENTRYPOINT ["top", "-b"]
CMD ["-c"]
注:
ENTRYPOINT与CMD非常类似,不同的是通过docker run执行的命令不会覆盖ENTRYPOINT,而docker run命令中指定的任何参数,都会被当做参数再次传递给ENTRYPOINT。Dockerfile中只允许有一个ENTRYPOINT命令,多指定时会覆盖前面的设置,而只执行最后的ENTRYPOINT指令。
更多推荐

所有评论(0)