Open
Description
备份与加载镜像
1. 导出镜像
docker save mysql > mysql.tar
- 小文件推送到其他服务器
scp mysql.tar 100.100.100.100:/download/
3. 加载镜像
# 如果原先有镜像。先删除
docker rmi mysql
docker load < mysql.tar
备份与加载容器
1.停掉容器
docker stop dev-mysql
2. 压缩数据
tar -zcvf dev-mysql.tar.gz dev-mysql
3. 启动容器
docker restart dev-mysql
4. 推送到其他服务器
scp dev-mysql.tar.gz 100.100.100.100:/download/
5. 解压数据
tar -zxvf dev-mysql.tar.gz
6. 启动mysql容器
docker run -p 3307:3306 --name dev-mysql \
-v /etc/localtime:/etc/localtime \
-v /software/dev-mysql/conf:/etc/mysql/conf.d \
-v /software/dev-mysql/logs:/logs \
-v /software/dev-mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123 \
-d mysql --lower_case_table_names=1
断点续传+后台执行
小文件使用以下命令执行即可
scp dev-mysql.tar.gz 100.100.100.100:/download/
如果dev-mysql.tar.gz文件过大,则可以代替为
yum install screen
screen -S rsync
nohup rsync -e ssh -avr dev-mysql.tar.gz 100.100.100.100:/download/dev-mysql.tar.gz
# ctrl+Z
bg
screen -d rsync
传送完毕后杀掉rsync窗口
如何知道传输完毕了?
使用stat dev-mysql.tar.gz
查看两个服务器上的文件大小,对比下,是一样大就是传输完成了
之后要把rsync窗口杀掉
# 列出所有窗口
screen -ls
# 得到窗口编号
# 13740.rsync (Detached)
# 杀掉这个窗口
screen -X -S 13740 quit
默认docker-compose 的数据卷位置
找到mysql数据卷位置
docker info | grep "Docker Root Dir"
定位到/var/lib/docker/volumes
找到wordpress_db-data
备份
多个文件同时传输
断点续传+后台执行
screen -S rsync
nohup rsync -e ssh -avr wordpress.tar.gz 100.100.100.100:/download/wordpress.tar.gz
nohup rsync -e ssh -avr wordpress_db-data.tar.gz 100.100.100.100:/download/wordpress_db-data.tar.gz
nohup rsync -e ssh -avr wordpress.tar 100.100.100.100:/download/wordpress.tar
# 查看全部任务
jobs -l
# 暂停
# ctrl+Z
# 三个任务全部放到后台
bg %1
bg %2
bg %3
# 断开会话
screen -d rsync
构建镜像并启动
docker build -t my-docker .
启动my-docker容器
docker run -p 3000:3000 --name my-docker-container \
-d my-docker
gitlab 容器nginx配置
upstream gitlab {
# 内网ip
server 100.100.100.101:9980;
}
#配置gitlab访问地址
server {
listen 80;
server_name gitlab.lwebapp.com;
location / {
# 设置最大允许上传单个的文件大小
client_max_body_size 1024m;
proxy_redirect off;
#以下确保 gitlab中项目的 url 是域名而不是 http://git,不可缺少
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 反向代理到 gitlab 内置的 nginx
proxy_pass http://gitlab;
#index index.html index.htm;
}
}