一、安装

docker对内核版本是有要求的,反正建议用7以上的版本,少坑

如果需要卸载旧版本(凡是卸载删除操作都要谨慎!):

yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine rm -rf /etc/systemd/system/docker.service.d # 删除原有镜像容器
# rm -rf /var/lib/docker # rm -rf /var/run/docker
安装方式1:
yum -y install docker-io
安装方式2(指定版本):

我用这种,因为很多地方配置和使用都对版本有要求

yum remove -y yum-utils
yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 这里会列出可安装的版本,按需选择安装
yum list docker-ce --showduplicates | sort -r yum install docker-ce-17.06.2.ce -y docker version
常规操作
# 启动
service docker start # 设置开机启动
chkconfig docker on
docker有个配置文件,路径是/etc/docker/daemon.json,每次修改后需要重启docker服务才能生效,下面记录一下我用到的配置项目:

镜像加速,配置了下载镜像速度很快

# xxx = 登录阿里云 容器镜像服务->镜像加速器-->加速器地址
{
"registry-mirrors": ["xxx"]
}

修改/dev/shm,容器的配置默认好像只有64M,当时跑了两个算法的程序就爆满了,所以就需要把它加大,要注意的就是这个配置对docker的版本也有要求

{
"default-shm-size": "30000M"
}

二、使用

在我看来其实就两个东西,镜像和容器,每次版本更新把服务做成镜像然后启动容器,想怎么组合就怎么组合,想开多少台服务就开多少台服务,升级回滚等各种骚操作,当然这些操作是需要编排管理工具来辅助完成的

找镜像
# 最简单也很常用的
docker search centos

附上装机必备

# 安装wget
yum -y install wget # service command not found
yum -y install initscripts # 安装阿里云yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum makecache

但一般情况下,能使用alpine的,我会优先选用alpine,10M都不到,构建速度贼快

除了docker search,更多的是直接在dockerhub上面寻找合适的镜像,附上地址http://www.dockerhub.com/,注意下大部分镜像有分官方和非官方,官方的肯定更安全可靠了,这个时候就要自己来判断是否适合在生产环境上运行了

镜像生成有两种:

  • Dockerfile(推荐,有记录有步骤,但可能会比较繁琐,看个人选择)
  • 直接Down下来的镜像或者commit做出来的镜像
常用命令:

docker build(Dockerfile构建),docker images,docker ps,docker ps -a,docker rm(删除容器),docker rmi(删除镜像),docker commit(打包容器成镜像),docker exec(进入容器)......

详细使用可以在菜鸟教程等比较好的编程网站查看

另外推荐使用阿里云的容器镜像服务辅助管理,我一直都在用

避坑指南
  • 容器不要用crontab
  • 其他坑后面文章继续记录

转载请注明博客出处:http://www.cnblogs.com/cjh-notes/

安装docker以及常规操作的更多相关文章

  1. Learn Docker(一)—软件安装与常规操作

    一.安装Docker Windows平台 在Windows10 X64专业版上可以直接下载Docker原生应用进行安装,在控制面板的程序与功能里启用Hyper-v,之后就可以运行docker程序啦. ...

  2. 关于docker--详解安装,常规操作,导入导出等(2017-3-29)

    测试环境 :CentOS 7.1 64位 目的:展示docker的常规使用(安装,常规操作,导入导出等) 其他:关于原理等请参考文章后面的延伸阅读,本文不做深入探讨,且方法不唯一 0x01 关于安装d ...

  3. 因为一个Docker问题,我顺手整理从安装到常用命令操作手册

    今天,自己写了一部分业务代码,是常规代码的另外一种方式,不能在公司的服务器上测试,就自己在PC端搭建了一套和公司集群一样的模板,因为公司的业务模块的测试有单独的服务器(这一块还是我很稀罕的),但是,第 ...

  4. Docker入门之安装与简单使用操作

    1.docker安装 #1.检查内核版本,必须是3.10及以上 uname -r #2.安装 yum -y install docker 2.docker简单使用 #1.启动docker system ...

  5. Ubuntu下安装Docker,及Docker的一些常用命令操作

    1.什么是 Docker         Docker 是一个开源项目,Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案.         Docker 的基础是 Linux 容器(LXC ...

  6. 操作安装docker

    在本地建造起vue-cli服务 参考项目:https : //gitee.com/QiHanXiBei/myvue 在本地建造起一个django项目架构,通过/ hello能够打印出helloworl ...

  7. centos7下安装docker(14安装docker machine)

    之前我们做的实验都是在一个host上面的,其实在真正的环境中有多个host,容器在这些host上面启动,运行,停止和销毁,相关容器会通过网络相互通信,无论他们是否运行在相同的host上面. 对于这种歌 ...

  8. CentOSLinux安装Docker容器

    Docker 使用 环境说明 CentOS 7.3(不准确地说:要求必须是 CentOS 7 64位) 不建议在 Windows 上使用 Docker 基本概念 官网:https://www.dock ...

  9. 『现学现忘』Docker基础 — 13、通过脚本安装Docker

    Docker官方提供方便用户操作的安装脚本,用起来是非常方便.但是要注意的是,使用脚本安装Docker,是安装最新版本的Docker. 注意:不建议在生产环境中使用安装脚本.因为在生产环境中一定不要最 ...

随机推荐

  1. JavaScript实现按照指定长度为数字前面补零输出的方法

    本文实例讲述了JavaScript实现按照指定长度为数字前面补零输出的方法.分享给大家供大家参考.具体分析如下: 例如我们希望输出的数字长度是固定的,假设为10,如果数字为123,则输出0000000 ...

  2. vue项目中导出PDF的两种方式

    参考大家导出的方式,基本上是如下两种: 1.使用 html2Canvas + jsPDF 导出PDF, 这种方式什么都好,就是下载的pdf太模糊了.对要求好的pdf这种方式真是不行啊! 2.调用浏览器 ...

  3. DSN 建立达梦7(DM)连接

    (DSN)Data Source Name 数据源名称 “ODBC数据源管理器”提供了三种DSN,分别为用户DSN.系统DSN和文件DSN.其中:      用户DSN会把相应的配置信息保存在Wind ...

  4. FFmpeg里面的时间单位

    pts单位:1/90 ms(每个单位代表1/90 ms)  RTP包头有个STAMP 对于视频 STAMP/90 就是 PTS (毫秒) 对于音频 STAMP/samplerate * 1000 才是 ...

  5. 如何在调用Marketing Cloud contact创建API时增加对扩展字段的支持

    需求:扩展字段"微信ID"是我创建出来的extension field,我想用Marketing Cloud提供的contact creation API,在创建contact时也 ...

  6. 一个简单的例子学会github repository的webhook

    github的webhook是个有用的功能,允许开发人员指定一个服务器的url.当开发者对github仓库施加操作,比如提交代码,创建issue时,github网站会自动向该url指定的服务器推送事件 ...

  7. python3 中的cls和self的区别 静态方法和类方法的区别

      一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法. 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用. 这有利于组织代码,把某 ...

  8. CentOS7 PHP增加连接Sqlserver扩展

    扩展插件下载地址 https://github.com/Microsoft/msphpsql/tags 本机PHP版本7.2,非线程安全 https://github.com/microsoft/ms ...

  9. Srping事物的隔离策略

    spring事务: 什么是事务: 事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败. 事务特性(4种): 原子性 (atomicity):强调事务的不可分割. 一致性 (c ...

  10. sql 分页查询 (每次6行 )

    --  对比 数据 是否 相同 select * from [dbo].[ProjecrInfo] where Project_state='已审核' -- 查询 已经 审核 有多少数据 -- 每次 ...