mac下docker-compose up 启动报错 failed: port is already allocated 解决方法

前几天在mac osx下启动docker-compose的时候无缘无故出现这类错误,导致无法启动服务:

userland proxy: Bind for 0.0.0.0:8080 failed: port is already allocated

网上查了大部分解决方法都是将local-kv.db这个文件删除, 例如:

sudo service docker stop
docker rm $(docker ps -aq)
sudo rm /var/lib/docker/network/files/local-kv.db
sudo service docker start

我的osx使用的Docker Desktop for Mac, 我们要知道Docker Desktop实际上是使用虚拟机下运行的docker服务, 所以我们需要先进入该虚拟机来进行操作:

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

然后再进行上面的删除操作:

rm /var/lib/docker/network/files/local-kv.db

按control+c+d退出 screen 并重启docker服务, 这样就完成了重置, 此时docker-compose up应该能把服务重新起起来了

MAC OSX Hadoop+Hive环境快速搭建

环境

brew安装 : http://brew.sh

安装

brew install hadoop hive

环境配置

vim ~/.zshrc

#java
export JAVA_HOME=`/usr/libexec/java_home`
#hadoop & hive
export HADOOP_HOME=$(brew --prefix hadoop)
export HIVE_HOME=$(brew --prefix hive)/libexec
export HCAT_HOME=$(brew --prefix hive)/libexec/hcatalog
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

source ~/.zshrc

测试

hadoop version  && hive -h

小团队作战之Docker Compose

application.yml 配置:

#db实例1
mysql001:
    image: "mysql:latest"
    environment:
        - MYSQL_ROOT_PASSWORD=123
    volumes:
        - /data/docker/mysql001_Data:/var/lib/mysql

#团队内部文档系统
devMediawiki:
    image: 'synctree/mediawiki'
    ports:
        - "10080:80"
    links:
        - mysql001:mysql
    volumes:
        - /data/docker/mediawiki:/var/www/html
    restart: always

#web移动端调试工具
weinre:
    image: "logankoester/weinre"
    command: --boundHost -all-
    ports:
        - "8080:8080"

monitor.yml 配置:

#cadvisor docker服务监控
cadvisor:
    image: "google/cadvisor:latest"
    ports:
        - "11080:8080"
    volumes:
        - /:/rootfs:ro
        - /var/run:/var/run:rw
        - /sys:/sys:ro
        - /var/lib/docker/:/var/lib/docker:ro

execute:

**sudo docker-compose -f /data/docker-compose/application.yml up -d**
**sudo docker-compose -f /data/docker-compose/monitor.yml up -d**

enjoy!