how to use docker
coding
wsl2
后可以配合docker desktop
在本地环境快速搭建 redis
/mongodb
/mysql
/nginx
/php
等环境的部署。
docker
docker search mysql
拉取 docker images
docker pull mysql:latest
查看本地镜像
docker images
docker-compose
docker-compose up -d
version: '3'
services: #表示这是一组服务
redis:
image: redis
container_name: redis
restart: always #docker服务重启后nginx的docker容器也重启
ports:
- "6379:6379" #映射的端口,redis容器的6379端口映射到本地的6379端口,可以通过ip:6379访问容器
networks:
db_local: #应用docker网络的名称
ipv4_address: 192.170.129.111 #分配的局域网ip
volumes:
# 挂载数据目录
- D:\WorkSpace\work-docker\docker-data\redis\data:/data
# links:
# - php # 连接php的docker容器 会在host文件生成 php 192.170.1.101(php 容器的局域网ip)
mysql:
image: mysql #应用的mysql的镜像名称
container_name: mysql #应用的mysql的镜像名称
restart: always #docker服务重启后nginx的docker容器也重启
ports:
- "3306:3306" #映射的端口,redis容器的6379端口映射到本地的6379端口,可以通过ip:6379访问容器
environment:
MYSQL_ROOT_PASSWORD: root_password # root用户的密码
MYSQL_USER: user # 创建新用户
MYSQL_PASSWORD: user_password # 新用户的密码
volumes:
# - D:\WorkSpace\work-docker\docker-data\mysql-conf:/etc/mysql #本地mysql映射到docker
- D:\WorkSpace\work-docker\docker-data\mysql\data:/var/lib/mysql #本地mysql映射到docker
networks:
db_local: #应用docker网络的名称
ipv4_address: 192.170.129.112 #分配的局域网ip
mongo:
image: mongo
container_name: mongo
restart: always #docker服务重启后nginx的docker容器也重启
ports:
- "27017:27017" #映射的端口,redis容器的6379端口映射到本地的6379端口,可以通过ip:6379访问容器
volumes:
# 挂载数据目录
- D:\WorkSpace\work-docker\docker-data\mongodb\db:/data/db
networks:
db_local: #应用docker网络的名称
ipv4_address: 192.170.129.113 #分配的局域网ip
networks:
db_local:
driver: bridge #网络类型
ipam:
config:
- subnet: 192.170.129.0/17 #区域网ip
关于php容器内在不关联 mysql 情况下连接mysql
可以将本机局域网ip让php容器内连接
Docker容器后台运行,就必须有一个前台进程。主线程结束,容器会退出。
直接运行docker命令,路径为work_dir
docker exec -it php-80 php -version
评论列表