Docker安装及基本使用方法

摘要:
Docker安装CentOS6上安装Docker#yum-yinstallepel-release#yum-yinstalldocker-ioCentOS7上安装Docker#yum-yinstalldocker启动Docker#/etc/init.d/dockerstart如果启动后无进程,日志中出现:/usr/bin/docker:relocationerror:/usr/bin/docker

Docker安装

CentOS6上安装Docker

# yum -y install epel-release

# yum -y install docker-io

CentOS7上安装Docker

# yum -y install docker

启动Docker

# /etc/init.d/docker start

如果启动后无进程,日志中出现:

/usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference

解决办法:

# yum upgrade device-mapper-libs

Docker镜像管理

# docker pull centos //从docker.com获取centos镜像

# docker images //查看本地都有哪些镜像

# docker tag centos fansik //为centos镜像设置标签为fansik,再使用docker images查看会多出来一行,该行的image id和centos的一样

# docker search [image-name] //从docker仓库搜索docker镜像,后面是关键词

# docker run -t -i centos /bin/bash //用下载到的镜像开启容器,-i表示让容器的标准输入打开,-t表示分配一个伪终端,要把-i和-t放在镜像名字前面

当镜像发生修改后,我们可以把镜像提交重新生成一个新版本进行再本地

docker ps //查看运行的容器,加上-a选项可以查看没有运行的容器

docker rmi centos //用来删除指定得镜像,其中后面的参数可以是tag,如果是tag时,实际上删除的是该tag,只要改镜像还有其他tag,就不会删除该镜像,当后面的参数为镜像ID时,则会彻底删除整个镜像,连同所有标签一同删除

# docker tag centos centos:fansik创建一个REPOSITORY为centos,TAG为fansik的镜像

# docker rmi centos:fansik删除REPOSITORY为centos,TAG为fansik的镜像

Docker镜像使用容器生成新的镜像

  • 进入之前创建的容器
  1. # docker ps -a;查看有哪些容器
  2. # docker start dad4e9070e2b启动id为dad4e9070e2b的容器(id可以简写为前几位)
  3. # docker exec -it dad4e9070e2b /bin/bash进入到容器中
  4. 里面可以直接使用yum安装需要的软件
  • 运行docker run后,进入到该容器中,我们做一些变更,比如安装一些东西,然后针对这个容器进行创建的新的镜像
  • docker commit -m "change somth" -a "somebody info" container_id(通过docker ps -a获取id) 新镜像名字
  • 例如:docker commit -m "install httpd" -a "Aming" dad4e9070e2b aming/centos
  • 这个命令有点像svn的提交,-m加一些改动信息,-a指定作者相关信息 dad4e9070e2b为容器id,再后面为新镜像的名字

Docker基于本地模板导入创建镜像

  • 模块提取,可以直接在网上下载一个模块(可以复制链接然后直接wget)http://openvz.org/Download/templates/precreated
  • 导入镜像的命令是:# cat ubuntu-15.10-x86_64-minimal.tar.gz | docker import - ubuntu
  • 把现有镜像,导出为一个文件:# docker save -o fansik-httpd.tar httpd(仓库名或者镜像ID)
  • 用备份文件恢复本地镜像:# docker load --input fansik-httpd.tar或者:# docker load < fansik-httpd.tar
  • 把自己的镜像上传到dockerhub官方网站,但需要先注册用户docker push image_name

免责声明:文章转载自《Docker安装及基本使用方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇smokeping 监控平台安装和部署WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Docker容器日志查看与清理(亲测有效)

 https://blog.csdn.net/yjk13703623757/article/details/80283729 1. 问题 docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。  2. 解决方法 2.1 找出Docker容器日志 在...

再谈容器与虚拟机的那点事

容器技术起源于虚拟化技术的发展,欣欣向荣的 Docker 着实是容器技术潮流中的一朵十分耀眼的浪花。在 Docker 诞生之初,它常常被放在虚拟机技术的对立面,甚至还有过 Docker 将替代虚拟机的夸大宣传,在许多集群以及虚拟化方案设计的讨论中,也总会将两者拿来比较一番利弊。 现如今 Docker 已经比较普及,这些曾经的传言不攻而破。容器以及 Dock...

centos下安装Ansys 17.2的全部过程

本次介绍在centos下安装Ansys 17.2的全部过程。 1 安装文件准备关于ANSYS的软件安装文件,在网络上可以找到。这里采用SSQ版本的安装文件,如图所示,包含一个名为Ansys172.DVD.Linux64.iso的安装文件以及名为_SolidSQUAD_的和谐文件夹。其他文件可以不用管。主要包括Ansys172.DVD.Linux64.iso...

docker “no space left on device”问题定位解决

在paas环境上使用docker加载镜像的时候出现了如下问题 第一反应应该是存储镜像的路径磁盘满了 docker info查看docker的根路径,可以看到为/opt/docker: 查看/opt/docker的磁盘占用率: 从上述可知docker的磁盘并没有占用满,怀疑是inode占用满导致的,查看/opt的inode占用率,发现inode用尽...

CentOS 6.3下rsync服务器的安装与配置[转]

CentOS 6.3下rsync服务器的安装与配置  一、rsync 简介   Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录。    Rsync 是用于取代rcp的一个工具,Rsync使用所谓的 “Rsync 算法” 来使本地和远程...

Linux下搭建iSCSI共享存储的方法 TGT 方式 CentOS6.9系统下

iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置...