一、安装
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 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
- 其他坑后面文章继续记录