2021年(31)
分类: LINUX
2021-09-09 09:17:07
使用image创建container并进入交互模式, login shell是/bin/bash
实例:
$ docker run -it ubuntu /bin/bash
root@946be96acd5f:/#
root@946be96acd5f:/# exit
exit
exit后容器将不在运行
启动一个container并进入交互模式
实例:
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
648944eeef8a ubuntu "/bin/bash" 8 seconds ago Exited (0) 6 seconds ago suspicious_feynman
root@ubun:~# docker start -i 648944eeef8a
root@648944eeef8a:/#
通过宿主机在正在运行的容器上执行命令。
通过宿主机在容器上创建文件
$ docker exec 87cb69be18bb touch /root/abc.txt
可通过exec命令从正在运行的容器上申请一个终端,执行shell
$ docker exec -it 87cb69be18bb /bin/bash
默认显示正在运行中的container
显示所有的container,包括未运行的 实例:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
946be96acd5f ubuntu "/bin/bash" About a minute ago Exited (0) About a minute ago thirsty_mclean
显示最后一次创建的container,包括未运行的
开启/停止/重启container
docker的备份方式有export和save两种。
docker export当前状态的容器,通过docker import进行恢复;
docker save针对的是镜像,通过docker load进行恢复。
1.找出要保存的镜像名称.
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
memcached v0.1 291272444a64 7 weeks ago 212 MB
2.备份镜像
$ docker save memcached:v0.1 >memcached_bak.tar
3.恢复镜像
将镜像scp到目标服务器,恢复镜像
$ docker load < memcached_bak.tar
4.查看镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
memcached v0.1 291272444a64 7 weeks ago 212 MB
1.找出要保存的容器ID或名称
$ docker ps|grep memcached
2.备份容器
$ docker export memcached > memcached_bak.tar
3.恢复成镜像
$ docker import memcached_bak.tar memcached
4.查看镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
memcached latest 51af4462e58b About a minute ago 250.5 MB
导出后再导入(export-import)的镜像会丢失所有的历史和层信息,而保存后再加载(save-load)的镜像没有丢失历史和层 (layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚.
未完待续.....