`
huangyongxing310
  • 浏览: 490744 次
  • 性别: 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容器。...

    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...

    Windows版本Docker桌面版安装包

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

    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