一、安装

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. vue 通过 name 和 params 进行调整页面传参刷新参数丢失问题&vue路由可选参数

    vue  通过 name 和 params 进行调整页面传参刷新参数丢失问题 router.js: export default new Router({ routes: [ { path: '/', ...

  2. 梯度直方图(HOG,Histogram of Gradient)

    1.介绍 HOG(Histogram of Oriented Gradient)是2005年CVPR会议上,法国国家计算机科学及自动控制研究所的Dalal等人提出的一种解决人体目标检测的图像描述子,该 ...

  3. 【原创】大叔经验分享(76)confluence和jira配置

    一 下载 confluence https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-conf ...

  4. 1 简介mvp模式

    1   模型-视图-表示器也称为监视控制器模式 ,如下图表示 2 mvp 模式希望通过表示器(presenter)来关联网页,而不必在他们之间建立严格的 3 一个简单的mvp架构的例子 public ...

  5. Windows下解决系统端口被VM虚拟机占用问题

    一)问题背景 安装VM虚拟机后,经常会遇到启动其他程序时出现端口被占用的情况,其中以80端口被占用最为常见. 二)解决思路 解除或更改被占用端口号,但是更改端口号时,除非对系统的端口占用情况非常熟悉, ...

  6. PHP中RabbitMQ之amqp扩展实现(四)

    目前我在PHP里接触实现RabbitMQ的方式有两种,一种是通过amqp扩展,一种是使用php-amqplib,本章讲诉RabbitMQ的安装及amqp扩展及amqp扩展如何实现RabbitMQ 环境 ...

  7. Nginx配置客户端SSL双向认证

    对于 NGINX 的 HTTPS 配置,通常情况下我们只需要实现服务端认证就行,因为浏览器内置了一些受信任的证书颁发机构(CA),服务器端只需要拿到这些机构颁发的证书并配置好,浏览器会自己校验证书的可 ...

  8. 八:MVC初始化数据库

    生成数据库策略: CreateDatabaseIfNotExists:方法会在没有数据库时创建一个,这是默认行为. DropCreateDatabaseIfModelChanges:如果我们在在模型改 ...

  9. 大幅提升Delphi Datasnap数据传输效率的方法

    方法一:增加TCP读写缓存的大小       DataSnap Server中负责TCP/IP通讯的组件是TDSTCPServerTransport,它默认的TCP/IP读写缓冲区的大小为32KB,由 ...

  10. Vasya and Beautiful Arrays CodeForces - 354C (数论,枚举)

    Vasya and Beautiful Arrays CodeForces - 354C Vasya's got a birthday coming up and his mom decided to ...