windows 下docker容器的端口转换问题

事实上我目前还是没有解决这个问题,参考了GitHub的这个issue Docker for windows is not mapping ports to localhost 中352193804楼的做法,直接使用了容器的ip + port的方式,绕过了遇到的问题。

有搜索过网上相关的问题——《解决Windows下无法对docker容器进行端口映射的问题》 ,然而我在运行这项命令 docker-machine ip default 时,并没有显示预期内容,这个命令应当是老的 Windows docker 工具创建虚拟机时使用的。

另,win下的 docker 其实有两种模式,一种是早期的,在本地起虚拟机(Virtualbox),虚拟机中运行docker这种方式——Docker Toolbox。 另外一种则是新的 Docker for Windows。

Docker for Windows 依赖于 Hyper-V,需要在 控制面板->程序与功能->windows功能 中打开。

参考资料


windows 下查看端口占用、查看pid进程与结束进程

一直以来都是在Linux下运行项目。自从微软支持docker后,本机也能运行docker程序了,开始对 Windows 的命令行 powershell 也有了点需求。这一篇记录Linux下四个常用的运维命令。

  • netstat
  • grep
  • ps aux
  • kill -9
  1. 查看所有的端口占用情况

    netstat -ano
    
  2. 查看指定端口的占用情况

    netstat -aon | findstr "9050"
    
  3. 查看PID对应的进程

    tasklist|findstr "2016"
    
  4. 结束进程

    taskkill /f /t /im tor.exe
    

docker iptables 清空后如何重置容器网络

相信有人也遇到过,在做一些iptable 相关操作时,直接 iptable -F将其清空后的,容器网络无法使用的。

重建docker网络即可。具体步骤如下:

# 安装brctl 
apt-get install bridge-utils
yum install bridge-utils

# 停止docker服务
systemctl stop docker

# 重建 docker 网络
ifconfig docker0 down
brctl delbr docker0

# 重启docker服务
systemctl start docker

配置局域网 yum 源(http模式)

搭建 yum 有两种协议——http和ftp。比较常用的是http,这篇文章介绍 http 的方式。

环境准备

  • rpm包——httpd和createrepo
  • centos 光盘镜像

安装

在准备搭建yum源的服务器上安装 httpd 和 createrepo

rpm -ivh 包名

源配置

拷贝 centos 的两块系统光盘到 yum 源机器上。 把iso文件挂载到/mnt

mount -o loop -t iso9660 /isoname.iso /mnt

建立yum源的rpm包存放路径

mkdir -p/var/www/html/yum/CentOS6.3

拷贝rpm包到yum源目录,不同系统光盘rmp包存放的目录可能不同,占空间最大的就是。

cp /mnt/Packages/* /var/www/html/yum/CentOS6.3

卸载挂载的第一块光盘

umount /mnt

再重复上面的挂载和拷贝第二块光盘的rpm包,在最后有一个文件冲突的提示,两个都直接删除就好了。

生成创建仓库

createrepo /var/www/html/yum/CentOS6.3

需要等待比较长时间。

启动 httpd 服务器

systemctl restart httpd

到此 yum 源的服务端就已经完成。

修改客户端的 yum 源

备份默认配置

cp/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bk
vi /etc/yum.repos.d/CentOS-Base.repo

把里面的mirrorlist加上注释,baseurl注释删掉后面的链接改成

http://ip/yum/CentOS6.3/

测试

yum clean all
yum -y install vim