`
huangyongxing310
  • 浏览: 506533 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

windows docker测试过程

 
阅读更多
在Windows中玩转Docker Toolbox
https://www.cnblogs.com/studyzy/p/6113221.html


使用docker-machine stop default停掉Docker的虚拟机。

docker-machine start default就可以启动新地址的Docker虚拟机了

docker-machine restart default


查看当前有哪些镜像:
docker images

当前有哪些容器:
docker ps –a


我们可以看到我们当前的Docker虚拟机的状态
docker-machine ls


创建一个Docker虚拟机。
docker-machine create --driver=virtualbox default


username: docker
password: tcuser


获得虚拟机的环境变量:
docker-machine env default


//进入虚拟机
docker-machine ssh default


//加速度器设置
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=https://6kx4zyno.mirror.aliyuncs.com |g" /var/lib/boot2docker/profile


1 进入docker服务器的容器
docker-machine ssh default
2 执行如下命令,将镜像地址替换为https://www.daocloud.io/mirror,这里可以更换你喜欢的其它镜像.

sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=https://6kx4zyno.mirror.aliyuncs.com |g" /var/lib/boot2docker/profile
3 退出服务器容器

exit
4 重启容器

docker-machine restart default





//共享文件夹与Ubuntu的某个目录关联起来
此处我选择在/mnt下创建一个“share”目录,将刚刚的“gongxiang”目录与“share”目录关联起来。
进入/mnt:
cd /mnt
创建share目录:
sudo mkdir share
将“gongxiang”目录与“share”目录进行关联:
sudo mount -t vboxsf gongxiang /mnt/share
---------------------
版权声明:本文为CSDN博主「曾博文」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z191726501/article/details/78484767




//查看远程镜象
docker search mysql


docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
接下来我们打开windows下的mysql客户端,服务器地址填docker虚拟机的IP地址,通过docker-machine env可以看到,我这里是192.168.99.100,
然后用户名root,密码123,这样我们就可以连接到docker容器里面的mysql了。

-v
要为绝对路径
宿主机目录如果不存在,则会自动生成


//进入容器里
docker exec -it mysql bash


//启动mysql,用navica连接不上
https://www.e-learn.cn/content/mysql/1256390

解决办法:
一、在docker中启动mysql,定义端口号3306
[root@localhost ~]# docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
二、执行命令,输入密码
[root@localhost ~]# docker exec -it mysql01 bash
root@863b69d78d4f:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.12 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
三、授权
mysql> GRANT ALL ON *.* TO 'root'@'%';
四、刷新权限
mysql> flush privileges;
五、更改加密规则
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
六、更新root用户密码(123456是我的密码,要替换成自己的)
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
七、刷新权限
mysql> flush privileges;




docker stop <container-id>或容器名字
docker kill <container-id>



docker create <image-id>
docker start <container-id>
docker run

docker stop命令会向运行中的容器发送一个SIGTERM的信号,然后停止所有的进程。
docker kill 命令向所有运行在容器中的进程发送了一个不友好的SIGKILL信号。



docker rm <container-id>
docker rm命令会移除构成容器的可读写层。注意,这个命令只能对非运行态容器执行。

docker rmi <image-id>
docker rmi 命令会移除构成镜像的一个只读层。你只能够使用docker rmi来移除最顶层(top level layer)(也可以说是镜像),你也可以使用-f参数来强制删除中间的只读层。

docker commit <container-id>
docker commit命令将容器的可读写层转换为一个只读层,这样就把一个容器转换成了不可变的镜像。

docker build命令非常有趣,它会反复的执行多个命令。
我们从上图可以看到,build命令根据Dockerfile文件中的FROM指令获取到镜像,然后重复地1)run(create和start)、2)修改、3)commit。在循环中的每一步都会生成一个新的层,因此许多新的层会被创建。


docker exec <running-container-id>
docker exec 命令会在运行中的容器执行一个新进程。


docker inspect <container-id> or <image-id>
docker inspect命令会提取出容器或者镜像最顶层的元数据。


docker save <image-id>
docker save命令会创建一个镜像的压缩文件,这个文件能够在另外一个主机的Docker上使用。和export命令不同,这个命令为每一个层都保存了它们的元数据。这个命令只能对镜像生效。

docker export <container-id>
docker export命令创建一个tar文件,并且移除了元数据和不必要的层,将多个层整合成了一个层,只保存了当前统一视角看到的内容


docker history <image-id>
docker history命令递归地输出指定镜像的历史镜像。



docker history : 查看指定镜像的创建历史。


docker exec -it mysql bash


在容器内使用docker logs命令,查看容器内的标准输出


来查看容器端口的映射情况。
docker port bf08b7f2cd89 或 docker port wizardly_chandrasekhar


来查看 Docker 的底层信息
docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。
docker inspect mysql


删除不需要的容器
docker rm 命令来删除不需要的容器


查找镜像
docker search httpd


nginx
http://192.168.99.100:8081

//将配置文件共享到宿主机上,方便进行配置,因为容器里缺少很多的命令
docker cp nginxTest:/etc/nginx/nginx.conf /mnt/share/nginx/conf

docker cp nginxTest:/usr/share/nginx/html /mnt/share/nginx/html


docker run -d -p 8084:80 --name nginxTest2 -v /mnt/share/nginx/html:/usr/share/nginx/html -v /mnt/share/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /mnt/share/nginx/logs:/var/log/nginx nginx
http://192.168.99.100:8084



tomcat
http://192.168.99.100:8080
http://192.168.99.100:8082

//将配置文件共享到宿主机上,方便进行配置,因为容器里缺少很多的命令




redis
docker exec -it redis redis-cli




//共享文件
sudo mkdir share
sudo mount -t vboxsf dockerShare /mnt/share







/mnt/share/nginx


docker可视化管理工具
Kitematic是一个 Docker GUI 工具,它可以更快速、更简单的运行Docker容器,现在已经支持 Mac /Windows/Linux。

即使Kitematic只能使用本机上的容器,但是在Linux服务器上安装GUI还是值得的。


Kitematic
huangyx310
596134920@qq.com
xing310600




web
//portainer
docker pull portainer/portainer

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --name prtainer portainer/portainer

http://192.168.99.100/:9000


admin
12345678





docker redis主从测试


docker-machine ssh default

docker run --name redis2-6390 -p 6380:6379 -d redis

docker run --name redis3-6391 -p 6381:6379 -d redis

http://192.168.99.100/

IPAddress 172.17.0.3
IPAddress 172.17.0.4


docker exec -it redis2-6390 bash

docker exec -it redis3-6391 bash


redis-cli

info replication

slaveof 172.17.0.3 6379

set k1 1237

192.168.99.100

sentinel

docker run --name redis_sentinel_1-26380 -p 26380:26379 -v /mnt/share/sentinel1:/conf -d redis /conf/sentinel.conf --sentinel
docker run --name redis_sentinel_2-26381 -p 26381:26379 -v /mnt/share/sentinel2:/conf -d redis /conf/sentinel.conf --sentinel
docker run --name redis_sentinel_3-26382 -p 26382:26379 -v /mnt/share/sentinel3:/conf -d redis /conf/sentinel.conf --sentinel


sentinel.conf
--------------------------------
#端口
port 26379

#是否后台启动
daemonize no

#pid文件路径
pidfile /conf/run/redis-sentinel.pid

#日志文件路径
logfile "/conf/log/sentinel.log"

#定义工作目录
dir /tmp

#定义Redis主的别名, IP, 端口,这里的2指的是需要至少2个Sentinel认为主Redis挂了才最终会采取下一步行为
sentinel monitor mymaster 172.17.0.3 6379 2

#如果mymaster 10秒内没有响应,则认为其主观失效
sentinel down-after-milliseconds mymaster 10000

#如果master重新选出来后,其它slave节点能同时并行从新master同步数据的台数有多少个,显然该值越大,所有slave节点完成同步切换的整体速度越快,但如果此时正好有人在访问这些slave,可能造成读取失败,影响面会更广。最保守的设置为1,同一时间,只能有一台干这件事,这样其它slave还能继续服务,但是所有slave全部完成缓存更新同步的进程将变慢。
sentinel parallel-syncs mymaster 1

#该参数指定一个时间段,在该时间段内没有实现故障转移成功,则会再一次发起故障转移的操作,单位毫秒
sentinel failover-timeout mymaster 20000

#不允许使用SENTINEL SET设置notification-script和client-reconfig-script。
sentinel deny-scripts-reconfig yes
--------------------------------






sudo mount -t vboxsf dockerShare /mnt/share


/mnt/share



docker cp /mnt/share/sentinel.conf redis_sentinel_1-26380:/
docker cp /mnt/share/sentinel.conf redis_sentinel_2-26381:/
docker cp /mnt/share/sentinel.conf redis_sentinel_3-26382:/



docker exec -it redis_sentinel_1-26380 bash

查看哨兵状态
redis-cli -p 26379 info sentinel



检测环境
进入sentinel容器,连接redis

redis-cli -p 37801
127.0.0.1:37801> sentinel masters







分享到:
评论

相关推荐

    Windows版本docker安装包

    它包括Docker Engine、Kubernetes、Docker CLI、Docker Compose等组件,使得开发者可以在本地开发、测试和部署Docker容器。 1. **Hyper-V支持**:Docker Desktop利用Windows的Hyper-V虚拟化技术来运行Linux容器。...

    Windows版本Docker桌面版安装包

    Docker Desktop 简化了 Docker 的安装过程,用户可以快速设置 Docker Engine 和相关工具,支持 WSL 2(Windows Subsystem for Linux),以提高性能和兼容性。 开发者可以在 Windows 上运行 Linux 容器,享受一致的...

    windows 2016 安装docker工具

    在现代IT环境中,Docker作为...Windows 2016上安装和使用Docker工具是一个涉及多个技术组件和步骤的过程。通过遵循正确的安装步骤和后续的管理维护,企业用户能够充分利用Docker带来的优势,提高软件开发和运维的效率。

    Docker-Windows版本Docker安装

    Docker Desktop for Windows简化了在Windows系统上使用Docker的过程,它提供了一个用户友好的界面,并且支持Docker容器和镜像的管理。 安装Docker for Windows的过程大致可以分为几个步骤。首先,需要检查系统是否...

    Docker for Windows Installer 2018-08-27 版本Version 18.06.1-ce-win73 (19507)

    4. 安装过程中,可以选择是否启用Docker Desktop Kubernetes,以便于本地测试Kubernetes集群。 5. 安装完成后,可以通过任务栏的Docker图标启动或停止Docker服务,以及进行其他设置。 此版本的Docker for Windows...

    Docker Desktop Installer 4.23.0

    这种标准化的过程可以使得Docker容器中的应用部署变得非常轻松,同时它也支持为不同的环境(开发、测试、生产)创建不同的容器镜像。 Docker的运行机制基于容器的概念,容器是一个轻量级的沙盒,可以运行在任何...

    docker Windows安装软件

    在Windows上安装Docker软件,不仅可以帮助开发者快速部署应用,还能在本地环境中模拟生产环境,为开发和测试提供了极大的便利。随着容器化技术的不断演进,Docker Windows的使用将变得越来越普遍,掌握Docker技能也...

    DockerWindows11下安装

    Docker是一种开源的应用容器引擎,它允许开发者打包他们的...无论是进行开发、测试还是生产部署,Docker都能带来许多便利和效率的提升。对于初学者而言,Docker的快速入门和广泛的应用生态都是学习和使用它的巨大优势。

    docker&docker-compose 19.03.14二进制安装

    在IT行业中,Docker和Docker Compose是两...理解Docker和Docker Compose的功能及应用场景,能够帮助开发者更高效地进行软件开发、测试和运维工作。在实际操作时,务必遵循官方文档或指南,以确保安装过程的顺利和安全。

    Docker Desktop Installer 4.38.0 版本安装包

    Docker是一种流行的容器化...Docker Desktop Installer 4.38.0版本的安装包是一个强大的工具,它为开发者提供了一个强大的容器化开发环境,使得开发者可以在Windows系统上高效地进行容器化应用程序的开发、测试和部署。

    arm64 docker安装包

    Docker可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。Docker 19.03.9是该软件的一个稳定版本,包含了多项改进和修复,提升了性能和稳定...

    mysql5.7 - docker 版本

    将MySQL 5.7版本与Docker技术结合起来,便可以在不同环境之间快速部署MySQL服务,极大提高了开发、测试及生产环境的效率。用户可以通过下载Docker镜像来获取MySQL 5.7的容器实例,无需担心系统兼容性问题。基于...

    docker-desktop-27.3.1-ce12230

    Docker的技术理念是通过提供轻量级的运行环境,来加速应用的开发、测试和部署过程。它使用容器来封装代码及其依赖,使得软件可以在任何支持Docker的系统上运行,而无需担心环境配置问题。这种特性使得Docker在持续...

    boot2docker_v19.03.5.zip

    8. **使用场景**: boot2docker适用于开发者进行本地开发和测试,以及需要在非Linux环境下运行Docker的场景。它可以快速启动一个轻量级的Docker环境,对于跨平台的开发和协作尤其有用。 总结,boot2docker_v19.03.5....

    Docker Desktop Installer

    总的来说,Docker Desktop Installer是Windows 10用户快速进入Docker世界的入口,结合WSL 2,它提供了一个强大的本地开发环境,让开发者能够在Windows平台上无缝地进行容器化应用的开发、测试和部署。通过持续更新和...

    docker-compose : v1.29.1和v2.5

    开发者可以通过定义一个包含多个服务的 docker-compose.yml 文件,使用一条命令就可以将整个应用程序的环境搭建起来,极大提高了开发和测试的效率。运维人员也可以通过它来部署生产环境中的应用程序。 在使用 ...

    wiindow安装docker所需的wsl

    现在你可以利用Docker Desktop来运行和管理Docker容器,进行开发、测试和部署应用程序。同时,通过WSL,你还可以在Windows环境中使用各种Linux工具,享受跨平台开发的便利。记得定期更新Docker Desktop和WSL,以获取...

    docker-24.0.9离线安装包+离线安装docker手册

    Docker 的优势在于它简化了配置和部署过程,使得应用程序能够在不同的环境中以一致的方式运行。 Docker 24.0.9 是 Docker 软件的一个特定版本,具备新的功能和修复。而离线安装包意味着用户无需互联网连接即可安装 ...

    DockerToolBox安装步骤.pptx

    随着容器技术的不断发展,Docker作为其中的佼佼者,已经被广泛应用于软件开发、测试和部署等多个环节。对于Windows用户而言,通过DockerToolBox安装Docker是一种简单且有效的方法。本文档将详细介绍在Windows环境下...

    docker-compose-linux-aarch64

    在IT行业中,Docker和Docker Compose是两个极为重要的工具,尤其对于开发、测试和部署微服务架构的应用程序来说。Docker是一个开源的应用容器引擎,它允许开发者打包他们的应用及其依赖包到一个可移植的容器中,然后...

Global site tag (gtag.js) - Google Analytics