`
huangyongxing310
  • 浏览: 496009 次
  • 性别: 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 容器,享受一致的...

    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&docker-compose 19.03.14二进制安装

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

    arm64 docker安装包

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

    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平台上无缝地进行容器化应用的开发、测试和部署。通过持续更新和...

    DockerToolBox安装步骤.pptx

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

    docker-compose-linux-aarch64

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

    boot2docker.iso的v18.02.0-ce版本

    它的主要目的是提供一个简单、快速的方式来运行Docker主机,尤其适合开发者在本地环境中进行Docker开发和测试。这个v18.02.0-ce版本是Boot2Docker的一个特定构建,它基于Docker的社区版本(CE),即Community ...

    docker 安装生产或测试环境.zip

    在安装过程中,可以将默认容器类型设置为Windows容器,也可以在安装后更改类型。 Linux系统中的安装方法(以CentOS7为例): 更新系统软件包并安装必要的软件包,如yum-utils、device-mapper-persistent-data...

    New Windows Server containers and Azure support for Docker

    - **开发和部署一致性:**使用Docker容器化应用程序可以帮助实现开发、测试和生产环境的一致性,减少环境差异带来的问题。 - **可移植性和可扩展性:**容器化应用程序可以在任何支持Docker的平台上运行,这增加了...

    Kubenetes on Docker

    2. **设置Docker Toolbox或Docker Desktop**: 对于某些平台,如Windows和macOS,你可能需要使用Docker Toolbox或者Docker Desktop,它们包含了Docker Engine、Kubectl(Kubernetes命令行工具)和其他必要的组件。...

    Docker window WSL 2 升级包

    Docker Desktop是一款强大的容器化平台,它为开发者提供了一个便捷的方式来构建、测试和部署应用程序,而无需关注底层基础设施。在Windows系统上,Docker Desktop利用Windows Subsystem for Linux(简称WSL)2来运行...

    k8s-for-docker-desktop-1.16.5.zip

    在WSL2环境下安装Docker Desktop,开发者可以在Windows上享受到接近原生的Linux Docker体验,这对于跨平台开发和测试非常有利。 压缩包中的"K8s-for-docker-desktop-1.16.5"可能包含了以下内容: 1. Kubernetes...

    windows安装GPU的tensorflow完整安装过程

    本篇文章将详细介绍如何在Windows系统上安装支持GPU的TensorFlow,并确保整个安装过程尽可能顺利。 在开始之前,请确保以下几点: 1. **计算机配置**:您的电脑必须配备NVIDIA的GPU,并且支持CUDA和cuDNN。 2. **...

    Docker Machine:构建虚拟化Docker环境的利器

    - **测试**:提供一个隔离的环境进行 Docker 应用的测试。 - **部署**:简化在云服务上部署 Docker 环境的过程。 #### Docker Machine 的工作原理 Docker Machine 实际上是通过一系列驱动程序来实现在不同平台上的...

    docker离线安装包

    这极大地简化了开发、测试和部署多容器应用的过程。 4. 一键安装脚本 (`install.sh`): 这个脚本是整个离线安装过程的关键。通常,它会包含以下步骤: - 验证系统兼容性,如检查操作系统版本和内核版本。 - 安装...

    wiindow安装docker所需的wsl

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

    docker安装的概要介绍与分析

    这大大简化了开发、测试和部署的过程,并确保应用在任何环境中都能一致运行。以下是对 Docker 安装资源的一个描述,旨在帮助用户快速了解如何在不同操作系统上安装 Docker。 ### Docker 安装资源描述 **一、概述**...

Global site tag (gtag.js) - Google Analytics