我正在使用 docker-compose 上传环境,但我想在 docker-compose 中自动创建一个表。但是它不起作用。
docker 撰写
mysql:
image: mysql:5.7
stdin_open: true
tty: true
container_name: mysql
restart: always
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=one
networks:
- network1
volumes:
- db-data:/var/lib/mysql
- ./dump:/docker-entrypoint-initdb.d
/转储/initdb.sql
create database one;
use one;
CREATE TABLE IF NOT EXISTS `user` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`first_name` varchar(50) DEFAULT NULL,
`last_name` varchar(50) DEFAULT NULL,
`gender` varchar(10) DEFAULT NULL,
`password` varchar(50) DEFAULT NULL,
`status` tinyint(10) DEFAULT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10001 ;
尝试使用Dockerfile
:
FROM mysql:5.7
COPY initdb.sql /docker-entrypoint-initdb.d/initdb.sql
确保这是在same目录作为initdb.sql
script.
现在在您的撰写中:
mysql:
build: ./dump
stdin_open: true
tty: true
container_name: mysql
restart: always
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=one
networks:
- network1
volumes:
- db-data:/var/lib/mysql
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)