记:docker初使用报错:An error occurred and No connection could be made machine actively refused it

记:docker初使用报错:An error occurred and No connection could be made machine actively refused it,第1张

项目场景:

之前都是停留在用docker,并没有系统学习,最近本地(Windows10)搭建了docker环境,第二次使用docker命令时会报错:An error occurred trying to connect: Get http://127.0.0.1:2375/v1.22/images/search?term=mysql: dial tcp 127.0.0.1:2375: connectex: No connection could be made because the target machine actively refused it。于是查了相关资料,总的来说不建议在window系统玩docker有很多坑需要解决。


问题描述


原因分析:

stack overflow里的回答提供了解决方案:https://stackoverflow.com/questions/35071536/docker-an-error-occurred-trying-to-connect
大体意思是如果你不是使用Docker QuickStart终端而是用Windows命令提示符开启时需要有几步 *** 作


解决方案:

第一步:启动容器,命令是:docker-machine start default

解释default为容器名,可以根据实际容器名替换,执行该命令,会提示Started machines may have new IP addresses. You may need to re-run the docker-machine env command.意思是默认的启动会重新分配ip地址,查看地址信息命令:docker-machine env

第二步:查看运行的机器,命令是docker-machine ls

第三步:查看环境信息,命令是docker-machine env --shell cmd default ,结果如下:

SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\Arseny\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
REM Run this command to configure your shell:
REM     FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO %i

第四步:根据第三步提示,执行命令:FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO %i

目前就可以使用docker相关命令了
强烈推荐使用Docker的QuickStart终端去 *** 作

下边简单介绍docker常用命令:

#1、查找镜像
docker search tomcat    # 从Docker Hub上查找tomcat镜像
docker search --filter=stars=500 tomcat     #从Docker Hub上查找关注度大于500的tomcat镜像

#2、下载镜像
docker pull tomcat      #从Docker Hub上下载tomcat镜像,默认是最新版本。等价于:docker pull tomcat:latest
docker pull tomcat:7  # 选择指定版本下载

#3、容器启动与停止
#新建并启动容器,参数:-i  以交互模式运行容器;-t  为容器重新分配一个伪输入终端;--name  为容器指定一个名称
docker run -i -t --name mycentos 镜像名称/镜像ID

#后台启动容器,参数:-d  已守护方式启动容器
docker run -d mycentos

#启动止容器
docker start 容器id
# 重启容器
docker restart 容器id
# 关闭容器
docker kill 容器id
docker stop 容器id

-t 参数让Docker分配一个伪终端并绑定到容器的标准输入上
-i 参数则让容器的标准输入保持打开。
-c 参数用于给运行的容器分配cpu的shares值
-m 参数用于限制为容器的内存信息,以 B、K、M、G 为单位
-v 参数用于挂载一个volume,可以用多个-v参数同时挂载多个volume
-p 参数用于将容器的端口暴露给宿主机端口 格式:host_port:container_port 或者 host_ip:host_port:container_port
--name 容器名称
--net 容器使用的网络
-d 创建一个后台运行容器

#4、容器进入与退出
#使用run方式在创建时进入
docker run -it centos /bin/bash
#关闭容器并退出
exit
#仅退出容器,不关闭
快捷键:Ctrl + P + Q
快捷键:Ctrl + Shift + P + Q


#5、删除镜像命令
#单个镜像删除,相当于:docker rmi java:latest
docker rmi java
#强制删除(删除正在运行的镜像,注:以后台方式运行的不能被强制删除)
docker rmi -f java
#多个镜像删除,不同镜像间以空格间隔
docker rmi -f java tomcat nginx
#删除本地全部镜像
docker rmi -f $(docker images -q)


#一些其他命令:
# 容器进程
#top支持 ps 命令参数,格式:docker top [OPTIONS] CONTAINER [ps OPTIONS]
#列出redis容器中运行进程
docker top tomcat
#查看所有运行容器的进程信息
for i in  `docker ps |grep Up|awk '{print }'`;do echo \ &&docker top $i; done

# 容器日志
# 查看redis容器日志,默认参数
docker logs tomcat
# 查看redis容器日志,参数:-f  跟踪日志输出;-t   显示时间戳;--tail  仅列出最新N条容器日志;
docker logs -f -t --tail=20 redis
# 查看容器redis从2021年08月10日后的最新10条日志。
docker logs --since="2021-08-10" --tail=10 redis


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/923052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存