一、安装

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. __imp__SetupDiDestroyDeviceInfoList

    error LINK2019 unresolved external symbol __imp__SetupDiDestroyDeviceInfoList 分类: 转载文章2012-11-02 15: ...

  2. ssh下known_hosts的作用

    原文地址:http://blog.csdn.net/yasaken/article/details/7348441 在平时工作中,有时候需要SSH登陆到别的Linux主机上去,但有时候SSH登陆会被禁 ...

  3. Subplots

    数据读取: Subplotting 先展示下我们在画一张图时的步骤 生成一个matplotlib Figure对象 生成一个matplotlib AxesSubplot 对象,然后将其赋值给Figur ...

  4. js重点——作用域——作用域分类(三)

    一.作用域可以分为全局作用域,局部作用域(函数作用域)和块级作用域. 1.全局作用域 代码在程序中的任何位置都能被访问到,window对象的内置属性都拥有全局作用域. <script> v ...

  5. eureka解析hostname为localhost问题 (转)

    https://blog.csdn.net/liufei198613/article/details/79583686 公司的springcloud已经上线运行,但是最近测试环境老是会出现一个诡异的问 ...

  6. json树迭代

    getArray(data){ for (var i in data) { if(data[i].disabled){ data[i].disabled = false } if(data[i].ch ...

  7. 安卓开发之sql语句增删改查

    package com.lidaochen.phonecall; import android.content.Context; import android.database.sqlite.SQLi ...

  8. nhandled rejection Error: EPERM: operation not permitted, open 'C:\Program Files\nodejs\node_cache npm ERR! cb() never called!

    安装全局包时报错,之前已经遇到过,结果第二次又忘记解决方法,果然还是要记下来,好记性不如烂笔头哇 $ npm i electron -gUnhandled rejection Error: EPERM ...

  9. GitHub代码复现之opencv

    GitHub代码复现之opencv链接:https://github.com/vonzhou/opencv 待解决!!! ISSUE汇总: Issue1:vs2015找不到配置dirent.h头文件? ...

  10. MySQL无法启动:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    1 详细异常 ct 11 17:31:51 bd02.getngo.com mysqld[20513]: 2019-10-11T09:31:51.187848Z 0 [Note] /usr/sbin/ ...