docker help rmi, 删除本地镜像

docker run -it --name=centos centos:latest /bin/sh  --name的选项可以方便我们以后引用此image,直接使用此处定义的名字

就可以了

docker stop 停止一个容器,建议用此方法而不用docker kill

docker logs centos centos是给image起起的名字,能够输出过去image中的输出信息

docker start 启动一个已经停止的容器

docker help attach, Attach to a running container

创建一个本地仓库:yum install docker-registry

service docker-registry start  启动服务,ss -tnl查看5000端口是否启动

docker tag 2b8fd9751c4c 192.168.204.135:5000/busybox:1  tag命令可以使用docker help tag获取使用帮助,2b8fd9751c4c

为image ID,192.168.204.135:5000/busybox指定仓库和连接端口,1指定TAG

docker push 192.168.204.135:5000/busybox:1上传image到仓库

此时会报错:unable to ping registry endpoint https://192.168.204.135:5000/v0/

vim /etc/sysconfig/docker 修改docker配置文件:

ADD_REGISTRY='--add-registry 192.168.204.135:5000'

INSECURE_REGISTRY='--insecure-registry 192.168.204.135:5000'

此时就可以上传成功了

Docker的数据卷:Data Volume

数据卷是供一个或多个容器使用的文件或目录,有多种特性:

可以共享于多个容器之间

对数据卷的修改会立即生效

对数据卷的更新与镜像无关

数据卷会一直存在

使用数据卷的方式:

(1) -v  /MOUNT_POINT

默认映射的宿主机路径: /var/lib/docker/volumes/

使用-v标记来创建一个数据卷并挂载到容器里

(2) -v  /HOST/DIR:/CONTAINER/DIR

/HOST/DIR: 宿主机路径

/CONTAINER/DIR :容器上的路径

加载主机的目录到容器的目录,主机的目录必须是绝对路径,如果目录不存在,docker会自动为你创建它

例如:docker run -it -v ~/datavolume:/data centos /bin/bash

此后你在容器/data目录下的修改会保存到宿主机的/datavolume目录下

docker run -it --rm -v ~/datavolume:/data:ro centos:latest /bin/bash

:ro的作用为创建的数据卷在容器中只读

(3) 在Dockerfile中使用VOLUME指令定义

数据卷容器:命名的容器挂载数据卷,其它容器通过挂载这个容器实现数据共享,挂载数据卷的容器就叫做数据卷容器

使用方法

(1):docker run -it --name centos1 -v ~/datavolume:/data centos:latest /bin/bash 创建一个命名的容器,在/data下创建一些文件,退出容器

(2)docker run -it --volumes-from centos1 centos /bin/bash 查看/data目录,还可以启动多个容器,来共享卷,即使删除了数据

卷容器,关在数据卷的其他容器仍然可以访问挂载数据卷的目录,并修改

在容器之间共享卷:

--volumes-from=[]      Mount volumes from the specified container(s)

后跟容器名

删除卷:docker rm -v container_name 删除容器的同时删除其卷(如果还有其他容器在使用此卷,这卷不会被删除)

数据卷的备份:

docker run --volumes-from centos -v /tmp:/tmp --name centos1 centos tar cvf /tmp/centos.tar /data

第一个centos是一个正在运行的容器的名字,第一个/tmp表示将centos中的数据卷备份到宿主机的/tmp目录下,第二个/tmp表示同时将数

据卷备份到centos1这个容器的/tmp目录下,tar cvf /tmp/centos.tar 表示备份到宿主机下的/tmp并以centos.tar这个格式存放,/data指定

centos中存放数据卷的目录,可以同时指定多个目录

数据卷的恢复:

先创建一个带有数据卷的容器:docker run -it --name centos1 -v /tmp:/tmp centos /bin/bash

启动另一个容器并恢复docker run -it --volumes-from centos1 -v /data/volume:/data centos tar xvf /tmp/centos.tar;/bin/bash

/data/volume指的是恢复到宿主机的目录,/data是容器的目录,tar xvf /tmp/centos.tar指的是centos1上备份数据卷的目录

注意docker数据卷本质上是存在于宿主机的文件系统中,可以是目录也可以使文件

使用brctl show 命令可以看见docker创建的桥,一般叫docker0

最新文章

  1. Log4net入门使用
  2. 说说Thread.Sleep(0)的那些奇怪的事
  3. JVM 性能调优实战之:一次系统性能瓶颈的寻找过程
  4. 安装Windows操作系统的驱动程序(驱动精灵版) - 进阶者系列 - 学习者系列文章
  5. JQ封装图片预加载插件
  6. Git学习记录--git仓库
  7. 解决VS2017编译后的EXE文件不能在其他电脑上运行的问题
  8. Alienware R8外星人台式机安装双系统(WIN10+Ubuntu)的总结
  9. 第十四节,卷积神经网络之经典网络Inception(四)
  10. MSSQL一种取代游标的方案
  11. 对象&内置对象& 对象构造 &JSON&__proto__和prototype
  12. laravel处理菜单保持的方法:
  13. Uni2D 入门 -- Asset Table
  14. kbmmw 5.06.20 发布
  15. 第05章:MongoDB-CRUD操作--数据库
  16. 常见浏览器兼容性问题与解决方案css篇
  17. java安装教程及环境配置
  18. Kafka—性能逆天的存在
  19. SpringBoot配置成Liunx服务
  20. ring0 根据EThread遍历线程

热门文章

  1. apache占用内存高解决办法
  2. 使用Office 365前,企业必须要知道的10件事
  3. python学习 02 元组
  4. Redis(Windows安装方法与Java调用实例 & 配置文件参数说明 & Java使用Redis所用Jar包 & Redis与Memcached区别 & redis-cli.exe命令及示例)
  5. 请求SQL数据是存在<null>,的解决方法
  6. 在Linux中显示日历(cal)
  7. 在UIWebView中设置cookie
  8. IOS发送带附件的邮件
  9. swagger api 文档框架
  10. 【BZOJ4930】棋盘 拆边费用流