docker如何移除所有的mysql_docker容器删除了,link怎么还在?

楼上的回答已经讲的很清楚了,db服务没有定义,在compose中link并不是链接容器,而是服务,并且compose启动的时候会单独create network ,也并不是和db-mysql在同一个网络中

$docker ps

$docket network ls

$docker-compose ps

解决这个问题,2点

1.把db也使用compose管理,定义在compose.yml文件中

db-mysql

.....

2.把webserver服务加入到和dbmysql一个网络中

例如:

db-backup.yml

version: '3.0'

services:

# 启动一次备份服务 ./docker-compose restart backup

backup:

image: mysql:5.7

environment:

MYSQL_HOST: mysql

MYSQL_DATABASE: package_v1

MYSQL_USER: root

MYSQL_PASSWORD: zhaojun

external_links:

- dockerprintproject_mysql-db_1:mysql

volumes:

- /etc/localtime:/etc/localtime:ro

- ./data/backup:/backup:rw

- ./dockerfiles/backup/:/app:ro

entrypoint:

- /bin/bash

command: /app/backup-default.sh

启动备份

[root@docker docker-print-project]# docker-compose -f db-backup.yml up

产品docker-compose.yml 部分服务

version: '3.0'

services:

nginx:

image: nginx:1.13.3

volumes:

#网站目录

- ./app:/var/www/html

- ./dockerfiles/nginx/conf.d:/etc/nginx/conf.d:ro

- /etc/localtime:/etc/localtime:ro

- ./logs/nginx:/var/log/nginx

ports:

- "80:80"

deploy:

restart_policy:

condition: any

command: nginx -g 'daemon off;'

mysql-db:

image: mysql:5.7

volumes:

- ./data/mysql:/var/lib/mysql:rw

- /etc/localtime:/etc/localtime:ro

- ./logs/mysql:/var/lib/mysql-logs:rw

- ./dockerfiles/mysql/conf.d:/etc/mysql/conf.d:ro

environment:

MYSQL_ROOT_PASSWORD: zhaojun

MYSQL_DATABASE: package_v1

MYSQL_USER: zhaojun

MYSQL_PASSWORD: zhaojun

deploy:

restart_policy:

condition: any

docker ps

e88da6e7344e39f54c6452d27c468364.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值