Windows7 docker操作备份还原

 

Windows 7 docker

操作备份还原

By steven_roc

2022年2月25日星期五

目录

一、DockerToolbox-19.03.1.exe安装包 1

1.1创建虚拟机docker 更新相关软件 1

1.1.1docker-machine docker-compose 下载更新操作 1

1.2docker 相关命令参数介绍 2

1.2.4 docker volume 2

1.2.5 docker network 2

1.2.6 docker inspect 2

二、docker jpress项目案例介绍 3

2.1创建虚拟机docker-machine roc.jpress 3

2.2登录虚拟机docker-machine roc.jpress 4

2.3进入虚拟机Linux docker-compose up -d 后台交互运行 4

2.3.1查看容器备份容器 6

二、docker jpress项目案例介绍 9

2.1创建虚拟机docker-machine jpress.roc 9

2.1.1 docker volume ls 9

2.1.1.1 docker volume ls 9

2.1.1.1.1 docker volume ls 9

2.2导入镜像文件 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/

  1. $ 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

  1. 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

  1. 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 后台交互运行

1)导入镜像文件:

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压缩文件包,备份

  1. 当前目录下压缩文件 注意压缩解压缩切换到当前目录

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 切换管理员权限

  1. 容器内安装 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)

  1. 备份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导入镜像文件

https://answers.microsoft.com/zh-hans/msoffice/forum/all/word-%E5%AF%BC%E8%88%AA%E7%AA%97%E6%A0%BC%E4%B8%AD/43f8f7e2-e19e-4d34-b671-e8597cfa06ff?auth=1

word 导航窗格中 的“显示标题级别”默认为3级,是否可以修改默认显示级别?

 

您可能还喜欢...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注