我试图得到一个工作的Docker安装以下教程:http://docs.docker.io/en/latest/installation/windows/
到目前为止,我使用手动下载的存储库运行虚拟机(遵循GitHub链接并下载为ZIP文件,因为“git clone”在我的公司代理后面不起作用,即使在使用“git conf-globalhttp.proxy...“-它一直要求我进行认证407,尽管我输入了我的用户名和密码)。
现在我处于应该使用“docker运行busybox echo hello world
”(“运行docker”部分)的状态。
当我这样做的时候,我首先被告知Docker没有安装(如教程底部所示),然后,在我用apt-get安装docker
得到它之后,我得到“分段故障或遇到的关键错误”。倾倒核心并中止。"
我现在能做什么?这是因为我没有使用git clone
还是Docker安装有问题?我在某个地方读到,apt-get安装docker没有安装我想要的Docker,而是一些GNOME工具。我可以指定我的apt请求来获得正确的工具吗?
(背景:2015年3月,Windows 7,公司代理背后)
克隆它并:
...\env.bat
之后的env.bat.template
,配置文件
文件中添加所需的别名,senv.bat
然后b2d.bat
.然后,您将在一个正确定制的boot2docker
环境中使用:
docker search/pull
时,ssh会话能够在公司代理后面访问internet
如果你是工作站的管理员,你可以在你的Windows上运行boot2docker安装。
它当前附带:
然后,一旦安装:
c:\path\to\Boot2Docker For Windows\
在%PATH%
boot2docker init
boot2docker start
boot2docker ssh
退出
退出ssh会话,并且boot2docker ssh
返回:您刚刚键入的命令的历史记录被保留。boot2docker停止
如果打开虚拟盒GUI并键入DOS cmd会话boot2docker start
或stop
,实际上可以看到VM的启动或停止。
要了解的要点是,您需要管理2个主机:
%HOME%\. boot2docker\boot2docker.iso
=就代理而言,这意味着:
HTTP\u PROXY
、HTTPS\u PROXY
和NO\u PROXY
环境变量(您可能已经有了这些变量,例如,虚拟盒可以使用它们来检测虚拟盒的新版本)http\u proxy
、https\u proxy
和no\u proxy
(注意Linux环境中的大小写):
docker search nginx
)docker pull
将为您提供拨号tcp:lookup索引。码头工人。io:没有这样的主机
/var/lib/boot2docker/profile
中设置的:它是profile
,而不是。配置文件
/home/docker/.ashrc
中设置),如果您需要执行任何其他需要访问internet的命令(docker除外)将为您提供一个文件,例如,无法解析“http.debian.net”
)
这意味着您必须添加行ENV http\u proxyhttp://...
首先,在运行任何需要访问internet的命令之前
一个好的
无需设置的代理是:
.company,.sock,localhost,127.0.0.1,::1,192.168.59.103
(
. company
为您公司的域名,用于内部网站)
另一点需要理解的是,boot2docker使用Tiny Core,一个...微小的Linux发行版(. iso文件只有26MB)。
与您所有首选的设置和别名...下一个
Tiny Core不提供持久性(除了几个技术文件夹):如果您修改您的<代码>~/. ashrcboot2docker停止/boot2docker开始
将恢复原始的Linux环境,您的修改消失了。
您需要确保VirtualBox下载了Oracle虚拟机虚拟机扩展包,并将其添加到虚拟框/File/Settings/Extension/add
Oracle虚拟机虚拟机扩展包-4中。x、 yy-ZZZZ。vbox extpack
文件)。
正如在boot2docker中所述,您将可以(从您的Tiny Core ssh会话)访问
/c/用户/
要了解的最后一点是,默认情况下不导出任何端口:
您的容器端口在Tiny Core主机上不可见(例如,您必须使用-p 80:80
才能将容器的80端口暴露给Linux会话的80端口)
- 默认情况下,您的Tiny Cort端口不会从虚拟盒子VM导出:即使您的容器在Tiny Core中可见,您的Windows浏览器也不会看到它:http://127.0.0.1将无法工作"
连接已重置
"。
对于第一点,
docker run-it--rm--name my apache app-v“$PWD”:/usr/local/apache2/htdocs/httpd:2.4
如果没有-p80:80
,将无法工作。
对于第二点,定义别名
dos key vbm="c:\Program Files\Oracle\VirtualBox\VBoxManage.exe " $*
,然后:-如果虚拟框'boot2docker-vm
'尚未启动,则使用vbm修改fyvm
-如果虚拟框'boot2docker-vm
'已经启动,使用vbm Controlvm
通常,如果我在boot2docker会话期间意识到无法从Windows访问端口80:
vbm controlvm "boot2docker-vm" natpf1 "tcp-port80,tcp,,80,,80";
vbm controlvm "boot2docker-vm" natpf1 "udp-port80,udp,,80,,80";
然后,也只有这样,我才能进入http://127.0.0.1
为了方便地使用
boot2docker
:
在Windows上创建文件夹%USERPROFILE%\prog\b2d
- 添加一个
。配置文件
(直接在Windows中,在%USERPROFILE%\prog\b2d
中),以及您的设置和别名
例如(我修改了原始的
/home/docker/.ashrc
):
# ~/.ashrc: Executed by SHells.
#
. /etc/init.d/tc-functions
if [ -n "$DISPLAY" ]
then
`which editor >/dev/null` && EDITOR=editor || EDITOR=vi
else
EDITOR=vi
fi
export EDITOR
# Alias definitions.
#
alias df='df -h'
alias du='du -h'
alias ls='ls -p'
alias ll='ls -l'
alias la='ls -la'
alias d='dmenu_run &'
alias ce='cd /etc/sysconfig/tcedir'
export HTTP_PROXY=http://<user>:<pwd>@proxy.company:80
export HTTPS_PROXY=http://<user>:<pwd>@proxy.company:80
export NO_PROXY=.company,.sock,localhost,127.0.0.1,::1,192.168.59.103
export http_proxy=http://<user>:<password>@proxy.company:80
export https_proxy=http://<user>:<password>@proxy.company:80
export no_proxy=.company,.sock,localhost,127.0.0.1,::1,192.168.59.103
alias l='ls -alrt'
alias h=history
alias cdd='cd /c/Users/<user>/prog/b2d'
ln -fs /c/Users/<user>/prog/b2d /home/docker
(192.168.59.103通常是由
boot2docker ip
返回的ip)
创建并添加b2d。在%PATH%
中使用bat
脚本,该脚本将:
- 启动
boot2docker
- 为
docker
服务(已重新启动)和/home/docker
用户帐户复制正确的配置文件
- 启动交互式ssh会话
即:
doskey vbm="c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" $*
boot2docker start
boot2docker ssh sudo cp -f /c/Users/<user>/prog/b2d/.profile /var/lib/boot2docker/profile
boot2docker ssh sudo /etc/init.d/docker restart
boot2docker ssh cp -f /c/Users/<user>/prog/b2d/.profile .ashrc
boot2docker ssh
要进入一个新的boot2docker会话,在您的设置完全按照您的需要定义的情况下,只需键入:
b2d
你可以走了:
docker搜索xxx
将起作用(它将访问互联网)
- 任何
docker构建
都可以工作(如果有ENV http\u代理
指令,它将访问互联网)
- 可以直接从
~/b2d
修改%USERPROFILE%\prog\b2d
中的任何Windows文件
或者,您实际上可以直接从Windows会话中编写和修改这些文件(如某些Dockerfile),使用您喜爱的编辑器(而不是vi
)
所有这些,都在公司防火墙后面。
Tuan在评论中补充道:
也许我公司的代理不允许https。以下是我的解决方法:
boot2docker-ssh
,
终止docker进程并
- 设置代理
导出http\u代理=http://proxy.com
,然后
- 使用
docker-d--插入注册表docker启动docker。io
本文向大家介绍windows 系统防火墙 添加端口号方法,包括了windows 系统防火墙 添加端口号方法的使用技巧和注意事项,需要的朋友参考一下 目前在大部分公司内使用的台式机和部分服务器都采用了Windows操作系统,而我么都知道相当一部分病毒、恶意程序、黑客都是利用扫描端口号,利用开放的端口进行入侵,此时大型企业都会将服务器的系统防火墙打开来关闭非常用端口。有些程序安装后可能会自动添加开放需
springboot开发的jar程序,运行在 windows server 2019 服务器上,前端链接后端 websocket 的地址类似:ws://192.168.1.2:7076/showabe/frontEndWebSocket?category=tv。只有关闭防火墙才能正常通信,如果打开防火墙即使设置放行端口号7076仍然无法通信,要如何做可以打开防火墙的情况下不影响 websocket
问题内容: Ngrok(https://ngrok.com/)应该允许您通过转发将本地端口和服务公开给万维网。但是,如果我像这样打开本地计算机上的端口80: 我回来了: 我知道对http://3a4bfceb.ngrok.com的任何请求都将发送到端口80上的本地计算机,但是如果我坐在NAT /防火墙后面,这会阻止传入流量(一种非常常见的情况),该怎么办。ngrok是否会发起轮询请求来确定何时接收
基本概念 netfilter Linux 内核包含一个强大的网络过滤子系统 netfilter。netfilter 子系统允许内核模块对遍历系统的每个网络数据包进行检查。这表示在任何传入、传出或转发的网络数据包到达用户空间中的组件之前,都可以通过编程方式检查、修改、丢弃或拒绝。netfilter 是 RHEL 7 计算机上构建防火墙的主要构建块。 尽管系统管理员理论上可以编写自己的内核模块以与 n
我有一个服务器写在JavaServerSocket。 我有一个客户端,它位于一个公司防火墙之上,除了公共端口之外,它阻止了所有东西。 我已在SMTP端口(#25)上启动服务器。 有防火墙的用户连接到它,到目前为止一切正常。 然后服务器处理ServerSocket.accept()。据我所知,它在一个随机端口上创建一个套接字(每次端口号都不同)。因为防火墙而失败。 我的问题是-如何制作ServerS