docker windows配置

docker desktop 配置国内镜像仓库
{
“registry-mirrors”: [
“https://registry.docker-cn.com”,
“http://hub-mirror.c.163.com”,
“https://docker.mirrors.ustc.edu.cn”
],

"hosts": ["tcp://0.0.0.0:2375"],


“insecure-registries”: [],
“debug”: false,
“experimental”: false,
“features”: {
“buildkit”: true
}
}
————redis————————————

以管理员身份运行CMD,执行如下命令拉取Redis
docker pull redis:latest
在D盘新建decker_data/redis目录,然后在该目录下分别新建conf和data目录,分别用于挂载配置文件和存放数据持久化文件。

--运行 容器
docker run --name Redis-6379 -p 6379:6379 -v /D/docker_data/redis/conf/redis.conf:/etc/redis/redis_6379.conf -v /D/docker_data/redis/data:/data/ -d redis:latest redis-server /etc/redis/redis_6379.conf --appendonly yes
-查看redis 版本
docker exec -it Redis-6379 redis-server -v
--宿主机的springboot项目,无法访问docker容器中的redis服务

问题分析

1、在默认的redis.conf中bind只监听127.0.0.1,且保护状态为保护状态

问题解决方法

1、注释掉bind属性:#bind 127.0.0.1

2、protected-mode yes改为protected-mode no

3、设置requirepass,默认为foobared,修改为自定义密码或者通过redis-cli config set命令修改

修改以上部分,重启docker,问题解决

查看版本
docker exec -it Redis-6379 redis-server -v


//************************mysql************************

docker pull mysql:latest
docker images mysql:latest

1 运行镜像生成容器(先不挂载)
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=master$1234 -d mysql
2、复制配置文件到挂载目录(注意路径可能没有)
docker cp mysql:/etc/my.cnf d:\docker_data\mysql8\conf

3、停止并删除旧容器
docker stop mysql
docker rm mysql

 

各个参数说明:

–name:为容器指定一个名称,如这里我指定的名称为Redis-6667
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口,如这里我都指定的是6667
-d: 后台运行容器,并返回容器ID
-v /D/Net_Program/Net_RedisDocker/conf/redis.conf:/etc/redis/redis_6379.conf,把宿主机配置好的redis.conf放到容器内的这个位置中
-v /D/Net_Program/Net_RedisDocker/data:/data/,把Redis持久化的数据在宿主机内显示,做数据备份
-----------------------------------

在D盘新建decker_data/mysql目录,然后在该目录下分别新建conf目录和data目录 log目录 mysql-files 目录,分别用于挂载配置文件和存放数据持久化文件。
-d: 后台运行容器,并返回容器ID

docker run -p 3306:3306 --name mysql -v /d/docker_data/mysql8/mysql-files:/var/lib/mysql-files -v /d/docker_data/mysql8/log:/var/log/mysql -v /d/docker_data/mysql8/data:/var/lib/mysql -v /d/docker_data/mysql8/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=master$1234 -e TZ=Asia/Shanghai -d mysql

 

*************************************jenkins**********************************

docker pull jenkins/jenkins:lts

docker run -di --name=jenkins -p 8080:8080 -v /D/docker_data/jenkins/:/var/jenkins_home jenkins/jenkins:lts

 //**********************************************

二、设置防火墙
使用管理员打开powershell,执行下边命令

netsh advfirewall firewall add rule name="docker_daemon" dir=in action=allow protocol=TCP localport=2375

netsh advfirewall firewall add rule name="docker_lycrb" dir=in action=allow protocol=TCP localport=48080

New-NetFirewallRule -DisplayName 'Docker SSL Inbound' -Profile @('Domain', 'Public', 'Private') -Direction Inbound -Action Allow -Protocol TCP -LocalPort 2376

三、测试
docker -H 127.0.0.1:2375 info
浏览器访问

http://localhost:2375/version

 

posted on   zyp_java_net  阅读(144)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2022-06-15 mysql多表查询去重复数据_SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法...

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示