Windows7 docker操作备份还原
Windows 7 docker
操作备份还原
By steven_roc
2022年2月25日星期五
目录
一、DockerToolbox-19.03.1.exe安装包 1
1.1.1docker-machine docker-compose 下载更新操作 1
2.1创建虚拟机docker-machine roc.jpress 3
2.2登录虚拟机docker-machine roc.jpress 4
2.3进入虚拟机Linux docker-compose up -d 后台交互运行 4
2.1创建虚拟机docker-machine jpress.roc 9
一、DockerToolbox-19.03.1.exe安装包
1)、DockerToolbox安装路径:C:\Program Files\Docker Toolbox
新位置:G:\Program Files\Docker Toolbox
2)、VirtualBox :C:\Program Files\Oracle\VirtualBox
虚拟机文件位置:C:\Users\steven_roc\VirtualBox VMs\defaultMySQLJPress
新文件位置:C:\Users\steven_roc\.docker\machine\machines\jpress4
3)、boot2docker.iso路径:C:\Users\steven_roc\.docker\machine\cache\boot2docker.iso
4)、Git路径:G:\Program Files\Git
6)、Git文件位置:G:\Program Files\Git\bin
6)、Docker Quickstart Terminal 文件位置及对应命令行:
“G:\Program Files\Git\bin\bash.exe” –login -i “C:\Program Files\Docker Toolbox\start.sh”
7)、docker-machine 创建文件位置:C:\Users\steven_roc\.docker\machine\machines\jpress4
8)、共享文件位置:c:\Users docker linux共享位置: /c/Users
8)、linux docker-compose
9)、linux docker-machine
10)、windows 7 docker-compose
11)、windows 7 docker-machine
所有版本以目前安装包为准。
docker 默认账号密码:docker tcuser sercurt 加载ssh密钥:C:\Users\steven_roc\.docker\machine\machines\default\ id_rsa.pub
docker CE免费,docker EE企业版收费
1.1创建虚拟机docker 更新相关软件
1.1.1docker-machine docker-compose 下载更新操作
docker-machine升级下载 https://github.com/docker/machine/releases
docker-compose升级 https://github.com/docker/compose/releases
拷贝到docker CE Linux 目录中/usr/local/bin/
- $ curl -L https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
- sudo cp /home/docker/docker-machine /usr/local/bin/docker-machine
sudo cp /home/docker/docker-compose /usr/local/bin/docker-compose
sudo chmod +777 /usr/local/bin/docker-machine
sudo chmod +777 /usr/local/bin/docker-compose
- chmod 777 /tmp/docker-machine
chmod 777 /tmp/docker-compose
1.2docker 相关命令参数介绍
1.2.4 docker volume
1)docker@jpress4:~$ docker volume ls
DRIVER VOLUME NAME
local 5d52a3edb7f24313e5ae15e8ab97b47b7d2d830b15971938081734b9157733ce
local jpress4_jpress
local jpress4_mysql
1.2.5 docker network
1)docker@jpress4:~$ docker network ls
NETWORK ID NAME DRIVER SCOPE
db5fd2ff3ded bridge bridge local
1e5df7c741d8 host host local
294473581b86 jpress4_jpress-network bridge local
d5e5b9b3a04a none null local
3)查询容器运行所有信息d:ocker inspect 1e5df7c741d8
4)删除网络docker network rm (ID)
5) 查询当前容器:docker@jpress4:~$ docker inspect -f='{{.Name}} {{.NetworkSettings.IPAddress}} {{.HostConfig.PortBindings}}’ $(docker ps -aq)
/jpress map[8080/tcp:[{ 8080}]]
/mysql map[3306/tcp:[{ 3306}]]
6)docker@jpress4:~$ip a
7)docker@jpress4:~$ip link show docker0
8)docker inspect 16ed64fb959e | grep IPAddress
“SecondaryIPAddresses”: null,
“IPAddress”: “”,
“IPAddress”: “172.18.0.2”,
9)查询容器运行所有信息、docker inspect 16ed64fb959e (注意容器ID:16ed64fb959e)
10)我们可以写出以下脚本列出所有容器对应的名称,端口,及ip命令如下:
1.2.6 docker inspect
docker@jpress4:~$ docker inspect –format='{{.Name}} – {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ $(docker ps -aq)
/jpress – 172.19.0.2
/mysql –
二、docker jpress项目案例介绍
2.1创建虚拟机docker-machine roc.jpress
1、假设C:\Users\roc.jpress 目录下有文件

2、必须切换到当前目录创建虚拟主机 steven_roc@steven_roc-PC MINGW64 /
$ cd /c/Users/roc.jpress
3)直接以Git命令行windows 7 docker-machine创建虚拟机如下:
直接用Git Bash命令操作创建虚拟机如下=》 路径 /c直接从本地镜像创建虚拟机
steven_roc@steven_roc-PC MINGW64 /c/Users/roc.jpress
$ docker-machine create –driver virtualbox –virtualbox-boot2docker-url file://c/Users/steven_roc/.docker/machine/cache/boot2docker.iso roc.jpress
Running pre-create checks…
(roc.jpress) Boot2Docker URL was explicitly set to “file://c/Users/steven_roc/.docker/machine/cache/boot2docker.iso” at create time, so Docker Machine cannot upgrade this machine to the latest version.
Creating machine…
(roc.jpress) Boot2Docker URL was explicitly set to “file://c/Users/steven_roc/.docker/machine/cache/boot2docker.iso” at create time, so Docker Machine cannot upgrade this machine to the latest version.
(roc.jpress) Downloading C:\Users\steven_roc\.docker\machine\cache\boot2docker.iso from file://c/Users/steven_roc/.docker/machine/cache/boot2docker.iso…
(roc.jpress) Creating VirtualBox VM…
(roc.jpress) Creating SSH key…
(roc.jpress) Starting the VM…
(roc.jpress) Check network to re-create if needed…
(roc.jpress) Windows might ask for the permission to configure a dhcp server. Sometimes, such confirmation window is minimized in the taskbar.
(roc.jpress) Waiting for an IP…
Waiting for machine to be running, this may take a few minutes…
Detecting operating system of created instance…
Waiting for SSH to be available…
Detecting the provisioner…
Provisioning with boot2docker…
Copying certs to the local machine directory…
Copying certs to the remote machine…
Setting Docker configuration on the remote daemon…
Checking connection to Docker…
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: C:\Program Files\Docker Toolbox\docker-machine.exe env roc.jpress
补充命令如下:
4)查看虚拟机:steven_roc@steven_roc-PC MINGW64 /
$ docker-machine ls
4)停止虚拟机:steven_roc@steven_roc-PC MINGW64 /
$ docker-machine stop roc.jpress
5)删除虚拟机:steven_roc@steven_roc-PC MINGW64 /
$ docker-machine rm roc.jpress
6)删除所有虚拟机:steven_roc@steven_roc-PC MINGW64 /
$ docker-machine rm -f $(docker-machine ls -q)
2.2登录虚拟机docker-machine roc.jpress
1)登录虚拟机:steven_roc@steven_roc-PC MINGW64 /c/Users/roc.jpress
docker-machine start roc.jpress
$ docker-machine ssh roc.jpress
( ‘>’)
/) TC (\ Core is distributed with ABSOLUTELY NO WARRANTY.
(/-_–_-\) www.tinycorelinux.net
2、切换管理员权限:docker@roc:~ $ sudo -i
2、切换目录docker@roc:~$ cd /c/Users/roc.jpress
2.3进入虚拟机Linux docker-compose up -d 后台交互运行
root@roc:/c/Users/roc.jpress# docker load -i mysql.5.7.save.img.v1.tar
root@roc:/c/Users/roc.jpress# docker load -i fuhai.jpress.latest.save.img.v1.tar
2)查看镜像
root@roc:/c/Users/roc.jpress# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 4181d485f650 8 days ago 448MB
<none> <none> 8eb702c5abc6 2 months ago 240MB
3)修改docker tag 镜像id 镜像名字:镜像版本
root@jpress4:/c/Users/roc.jpress# docker tag 4181d485f650 mysql:5.7
root@jpress4: /c/Users/roc.jpress# docker tag 8eb702c5abc6 fuhai/jpress:latest
4)复制docker-compose docker-machine 到Linux主机,连续执行
sudo cp docker-machine /usr/local/bin/docker-machine &&sudo cp docker-compose /usr/local/bin/docker-compose && sudo chmod 777 /usr/local/bin/docker-machine &&sudo chmod 777 /usr/local/bin/docker-compose
5)、windows7 执行命令如下:启动容器编译docker-compose.yml文件
root@roc:/c/Users/roc.jpress# docker-compose up -d cal/bin/docker-compose
[+] Running 5/5
⠿ Network rocjpress_jpress-network Created 0.1s
⠿ Volume “rocjpress_jpress” Created 0.0s
⠿ Volume “rocjpress_mysql” Created 0.0s
⠿ Container mysql Started 0.6s
⠿ Container jpress Started
补充知识
6)查看容器:root@roc:/c/Users/roc.jpress# docker ps
5)回退删除:root@roc:/c/Users/roc.jpress# docker-compose down
6)删除数据卷:root@roc:/c/Users/roc.jpress# docker volume rm $(docker volume ls -q)
7)查看IP地址信息root@roc:/c/Users/roc.jpress# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 08:00:27:F2:01:93
inet addr:192.168.99.132 Bcast:192.168.99.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fef2:193/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:220 errors:0 dropped:0 overruns:0 frame:0
TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21685 (21.1 KiB) TX bytes:5536 (5.4 KiB)
8) 查看ip地址:docker-machine ip roc.jpress
10、进入主页面 http://192.168.99.132:8080/
192.168.99.132:8080
root,jpress,oldm123@!
设置登录账号密码:18665894491 steven_roc xiao234-=A
http://192.168.99.132:8080/admin/login
Roc xiao234-=A

2.3.1查看容器备份容器
2、容器操作
1)容器查看命令:root@myvm01:~# docker ps
2)docker中 关闭所有的容器命令
root@roc:/c/Users/roc.jpress#docker stop $(docker ps -a|awk ‘{print $1}’| tail -n +2)
6a6ce1a3877f
209d88aca27a
3)备份容器数据命令:
容器停止运行后拷贝文件目录my.cnf 实际文件名:/etc/mysql/mysql.cnf
1)备份mysql参数文件
sudo docker cp mysql:/etc/mysql/mysql.cnf /c/Users/roc.jpress/mysql5.7/etc.mysql
sudo docker cp mysql:/etc/mysql/ /c/Users/roc.jpress/mysql5.7/etc.mysql
sudo docker cp mysql:/var/lib/mysql /c/Users/roc.jpress/mysql5.7/var.lib.mysql
2)备份jpress
sudo docker cp jpress:/usr/local/tomcat /c/Users/roc.jpress/fuhai.jpress
3)tar压缩文件包,备份
- 当前目录下压缩文件 注意压缩解压缩切换到当前目录
root@roc:/c/Users/roc.jpress/mysql5.7/var.lib.mysql#tar -czvf var.lib.mysql.tar.gz mysql
root@roc:/c/Users/roc.jpress/mysql5.7/etc.mysql# tar -czvf etc.mysql.tar.gz mysql
5)tar 解压缩 还原注意压缩解压缩切换到当前目录
root@roc:/c/Users/roc.jpress/mysql5.7/etc.mysql# tar -xzvf etc.mysql.tar.gz
root@roc:/c/Users/roc.jpress/mysql5.7/var.lib.mysql#tar -czvf var.lib.mysql.tar.gz
6)列出压缩包内容:
root@roc:/c/Users/roc.jpress/mysql5.7/etc.mysql# tar -tzvf etc.mysql.tar.gz mysql
docker-machine ssh roc.jpress
docker ps
docker-compose down
sudo docker-compose up
docker-compose up -d
docker volume rm $(docker volume ls -q)
docker volume rm rocjpress_jpress
docker@roc:~$ cd /c/Users/roc.jpress/mysql5.7/var.lib.mysql/mysql
docker run –name=fxmysql -v /c/Users/roc.jpress/mysql5.7/var.lib.mysql/mysql:/var/lib/mysql –privileged=true -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7
5)
13)进入容器docker exec -it 容器名 /bin/bash
docker exec -it mysql /bin/bash vi /etc/mysql/mysql.cnf
docker exec -it jpress /bin/bash
bash-4.4# su root 切换管理员权限
- 容器内安装 vim
apt-get update
apt-install vim
–pid-file: Location ‘/var/lib/mysql’ in the path is accessible to all OS users. Consider choosing a different directory.
sudo docker cp jpress:/usr/local/tomcat /c/Users/roc/
sudo docker cp jpress:/usr/local/tomcat /c/Users/jpress4/
sudo docker cp -r mysql:/etc/mysql/my.cnf /c/Users/roc.jpress/mysql5.7/my.cnf
sudo docker cp mysql:/etc/mysql/ /c/Users/jpress4/mysql5.7/etc.mysql
sudo docker cp mysql:/etc/alternatives/ /c/Users/jpress4/ mysql5.7/etc.alternatives
复制快捷方式
sudo docker cp mysql:/etc/mysql/my.cnf /d/jpress/my.cnf
参考如下:
sudo docker cp mysql:/usr/my.cnf /c/Users/jpress/mysql/my.cnf
sudo docker cp mysql:/etc/mysql/my.cnf /c/Users/jpress4/mysql5.7/my.cnf
sudo docker cp -a mysql:/etc/alternatives/my.cnf /c/Users/jpress4/mysql5.7/my.cnf
sudo docker cp mysql:/var/lib/mysql /c/Users/jpress4/mysql5.7
sudo docker cp mysql:/etc/mysql/mysql.cnf /c/Users/jpress4/mysql5.7/
知识补充:
1、 查看容器信息docker@jpress4:~$ docker ps –format “table {{.ID}}\t{{.Status}}\t{{.Names}}”
CONTAINER ID STATUS NAMES
b666e57fc6f1 Up 2 hours jpress
a01d641a0c54 Restarting (3) 13 seconds ago mysql
3)docker中 启动所有的容器命令
docker restart $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
docker start $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
4)docker中 删除所有的容器命令
docker rm $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
- 备份MySQL,jpress文件
Tar命令操作
https://www.runoob.com/linux/linux-comm-tar.html
6)查看数据卷
root@roc:/c/Users/roc.jpress# docker volume inspect rocjpress_mysql
[
{
“CreatedAt”: “2022-02-26T09:40:45Z”,
“Driver”: “local”,
“Labels”: {
“com.docker.compose.project”: “rocjpress”,
“com.docker.compose.version”: “2.2.3”,
“com.docker.compose.volume”: “mysql”
},
“Mountpoint”: “/mnt/sda1/var/lib/docker/volumes/rocjpress_mysql/_data”,
“Name”: “rocjpress_mysql”,
“Options”: null,
“Scope”: “local”
}
]
root@roc:/c/Users/roc.jpress# docker volume inspect rocjpress_jpress
[
{
“CreatedAt”: “2022-02-26T08:13:12Z”,
“Driver”: “local”,
“Labels”: {
“com.docker.compose.project”: “rocjpress”,
“com.docker.compose.version”: “2.2.3”,
“com.docker.compose.volume”: “jpress”
},
“Mountpoint”: “/mnt/sda1/var/lib/docker/volumes/rocjpress_jpress/_data”,
“Name”: “rocjpress_jpress”,
“Options”: null,
“Scope”: “local”
}
]
附录一:
问题收集:
一、Administrator@Win7-2022XHBHXW MINGW64 /c/Users/blog
$ docker-compose_ up -d
Pulling blog-mysql (mysql:5.7)…
ERROR: Get https://registry-1.docker.io/v2/: read tcp 192.168.2.103:56368->52.20
5.127.201:443: read: connection reset by peer
解决如下:
首先:
通过dig @114.114.114.114 registry-1.docker.io找到可用IP
配置找到的可用ip: C:\Windows\System32\drivers\etc
修改hosts文件vi /etc/hosts添加进刚才找的可用ip:
52.87.94.70 registry-1.docker.io
二、docker jpress项目案例介绍
2.1创建虚拟机docker-machine jpress.roc
登录虚拟机:docker-machine ssh jpress.roc
2.1.1 docker volume ls
2.1.1.1 docker volume ls
2.1.1.1.1 docker volume ls
2.2导入镜像文件
word 导航窗格中 的“显示标题级别”默认为3级,是否可以修改默认显示级别?

自适应IP