We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
几年前,每次安装开发环境,都得下载、安装mysql、nginx、redis,安装复杂,配置也得从新根据新的机器从新修改,数据迁移也很麻烦,好不容易搞好了,还可能有各种不兼容。卸载也很麻烦,各种配置文件找不到,生成的各种冗余文件。一直在想是否有可以有一个随时迁移的开发环境,直到遇见docker,我尽量把所有的开发环境和中间件都安装到docker中,迁移时,只要把挂载目录迁移即可。随时启动和关闭,不用考虑为什么又突然多了个nginx,哪里来的mysql这种问题,始终保持宿主机的干净。这种方式一直用的很爽,这次特地分享下,我的安装过程和遇到一些问题。
以下所有教程基于mac os
首先安装docker,docker是我们开发环境的基础,网上也又很多教程,这里直接上安装步骤。
我这里是使用的Homebrew进行安装的,Homebrew 的Cask 很方便,很多软件都可以直接进行安装。
brew cask install docker
安装成功后,docker栏上会出现小鲸鱼,那就是docker for mac的图标。我这里没有做任何修改,墙的问题需要自行解决,我这里不存在墙的问题,所以也不考虑墙。
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose docker-compose --version
后续所有内容都会放到docker目录下
mkdir -p ~/docker/mysql mkdir -p ~/docker/mongo mkdir -p ~/docker/redis mkdir -p ~/docker/nginx/conf mkdir -p ~/docker/nginx/log mkdir -p ~/docker/nginx/www
后续所有docker都会根据common网络下
docker network create --subnet 172.21.0.0/16 common
version: "3" services: mysql: container_name: mysql image: mysql:5.7 command: --default-authentication-plugin=mysql_native_password restart: always environment: MYSQL_ROOT_PASSWORD: 123456 # 定义mysql root密码 volumes: - ~/docker/mysql:/var/lib/mysql ports: - "3306:3306" networks: default: ipv4_address: 172.21.0.10 redis: container_name: redis restart: always image: redis volumes: - ~/docker/redis:/data ports: - "6379:6379" command: redis-server --appendonly yes networks: default: ipv4_address: 172.21.0.11 nginx: container_name: nginx image: nginx:1.11.6-alpine ports: - 80:80 - 443:443 volumes: - ~/docker/nginx/conf.d:/etc/nginx/conf.d - ~/docker/nginx/log:/var/log/nginx - ~/docker/nginx/www:/var/www networks: default: ipv4_address: 172.21.0.12 mongo: container_name: mongo image: mongo environment: - MONGO_INITDB_ROOT_USERNAME=root - MONGO_INITDB_ROOT_PASSWORD=123456 ports: - "27017:27017" volumes: - "~/docker/mongo:/data/db" command: mongod networks: default: ipv4_address: 172.21.0.13 networks: default: external: name: common
在docker-compose.yml所在目录执行
docker-compose up -d
# 保存镜像文件 docker save -o 镜像名称_版本.tar 镜像名称:版本 # 加载镜像文件 docker load -i 镜像名称_版本.tar
server { listen 80; server_name git.liuyt.com; location / { proxy_pass http://host.docker.internal:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; } }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
前言
几年前,每次安装开发环境,都得下载、安装mysql、nginx、redis,安装复杂,配置也得从新根据新的机器从新修改,数据迁移也很麻烦,好不容易搞好了,还可能有各种不兼容。卸载也很麻烦,各种配置文件找不到,生成的各种冗余文件。一直在想是否有可以有一个随时迁移的开发环境,直到遇见docker,我尽量把所有的开发环境和中间件都安装到docker中,迁移时,只要把挂载目录迁移即可。随时启动和关闭,不用考虑为什么又突然多了个nginx,哪里来的mysql这种问题,始终保持宿主机的干净。这种方式一直用的很爽,这次特地分享下,我的安装过程和遇到一些问题。
备注
以下所有教程基于mac os
docker 安装
首先安装docker,docker是我们开发环境的基础,网上也又很多教程,这里直接上安装步骤。
我这里是使用的Homebrew进行安装的,Homebrew 的Cask 很方便,很多软件都可以直接进行安装。
安装成功后,docker栏上会出现小鲸鱼,那就是docker for mac的图标。我这里没有做任何修改,墙的问题需要自行解决,我这里不存在墙的问题,所以也不考虑墙。
docker-compose安装
docker目录
后续所有内容都会放到docker目录下
docker 网络创建
后续所有docker都会根据common网络下
中间件 docker-compose.yml 配置
启动
在docker-compose.yml所在目录执行
坑
The text was updated successfully, but these errors were encountered: