之前都是停留在用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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)