關閉Docker-compose.yml里面所有容器
docker compose -f docker_compose.yml down
后臺形式開啟Docker-compose.yml所有容器
docker compose -f docker_compose.yml up -d
羅列出所有啟動過的(包括退出過的)容器
docker ps -a
進入指定容器ID內部
docker exec -it 容器ID bash
注意,我這里是3307端口映射到Docker容器里面的3306端口
掛載目錄這里Volumes,
./xiaohashu.sql
說的是我這個Docker-compose文件所在目錄的sql文件路徑
/docker-entrypoint-initdb.d/xiaohashu.sql
這里是完整的從根目錄算起的絕對路徑!!!
這個/docker-entrypoint-initdb.d/xiaohashu.sql
我們需要在命令行外面手動復制到容器內部
docker cp /data/xiaohashu.sql mysql:/docker-entrypoint-initdb.d/
上面的mysql
是我們docker ps -a的服務名稱
這里3307是ubuntu里面的端口,映射到Docker內部3306,注意下面命令寫的是ubuntu的3307端口
然后我們進入Docker里面的MySQL容器后面接上我們要初始化的sql文件
mysql -h目標服務器ip地址 -P3307 -uroot -p我的MySQL密碼 xiaohashu < ./xiaohashu.sql
用該命令導入sql數據
mysql -h192.168.159.132 -P3307 -uroot -pA2qT03X7KlL4v/F2foD6kV/Ch9gpNBWOh1qoCywanjv1AsI7f9x3iAyR9NkUKeV+FMo+halCTzy5Llbk2VOrVQ== xiaohashu < ./xiaohashu.sql
進入docker里面的MySQL之后
mysql -P3307 -uroot -pA2qT03X7KlL4v/F2foD6kV/Ch9gpNBWOh1qoCywanjv1AsI7f9x3iAyR9NkUKeV+FMo+halCTzy5Llbk2VOrVQ==
show databases;
show tables;
注意:我們的Docker內部的查看文件的命令與ubuntu的指令有區別,
查看當前目錄所有文件是dir
或者是ls
是沒有ll
的
Docker容器異常可以用下面的命令:
docker logs 容器ID