安装docker

CentOS 7上安装docker-ce,首先检查系统中是否已经安装过docker及相关依赖:

$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

通过仓库进行安装,安装所需的包:

$ sudo yum install yum-utils device-mapper-persistent-data lvm2

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

启用稳定版的仓库sudo yum-config-manager --enable docker-ce-stable,
禁用仓库sudo yum-config-manager --disable docker-ce-stable

安装docker-ce,sudo yum install docker-ce.如果出现key相关错误,可以重新安装一下,会使用下载的缓存,并提示导入指纹。

启动docker,sudo systemctl start docker

现在使用docker相关命令的话,需要sudo权限,可以将当前用户添加进入docker组,
sudo usermod -aG docker $USER
退出shell,重新进入就不需要sudo权限了

修改docker镜像为中国官方镜像sudo vim /etc/docker/daemon.json,添加以下内容
{"registry-mirrors":["https://registry.docker-cn.com"]}

修改镜像名字

sudo docker tag IMAGEID [docker.my.com:port/]NAME[:1.0.0]

如果需要上传到指定私有镜像, 需要指定域名ip, 版本号根据自己的需求进行添加.

上传镜像到私有仓库

需要将镜像改名, sudo docker tag IMAGEID docker.my.com:port/NAME[:1.0.0],

编辑sudo vim /etc/docker/daemon.json, 添加内容{"insecure-registries":["docker.my.com:port"]}, 如果之前已经有内容, 可以在已有内容后添加,, 然后添加"insecure-registries":["docker.my.com:port"], 重启sudo systemctl restart docker

上传sudo docker push docker.my.com:port/NAME:1.0.0, 需要指定版本号, 如果重命名时没有指定, 就使用默认的版本号.

~~

开机自启容器

在启动容器时需要使用--restart=always, 注意一定要把这个参数放在-d参数的后面, 不然容器会一直重启.
示例docker run -d --restart=always -p port:port -v /local_path:/docker_path --name name image_name~~

如果启动时没有指定--restart=always, 也可以使用更新命令docker update --restart=always name

复制docker中的内容

可以使用sudo docker ps -a查看是否有docker容器以及NAMES, 如果容器停止并删除了, 就不能复制内容.

sudo docker cp NAMES:/home/users/file ./

进入docker的shell

sudo docker exec -it NAMES /bin/bash, 和Linux的操作一样,
可以通过cat /etc/issue查看Linux发行版本, 默认进入是root权限.
使用cat /proc/version, 这样查到的是宿主机的系统.
uname -a查到的是容器的相关信息.

保存docker容器的修改

--privileged=true是严格模式启动容器, 需要修改容器文件, 在启动容器时启用
docker ps查看容器id, docker commit id name:version

删除仓库中上传的镜像

查看仓库中镜像信息
curl -X GET http://docker.my.com:port/v2/_catalog

查看Etag,

需要使用特殊的头Accept: application/vnd.docker.distribution.manifest.v2+json

curl -I -X HEAD http://docker.my.com:port/v2/镜像名/manifests/版本号

删除
curl -X DELETE http://docker.my.com:port/v2/镜像名/manifests/Etag的值

docker无法启动的问题

一般docker起不来是因为selinux的状态问题.

docker启动时报错Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. Either boot into a newer kernel or disable selinux in docker (--selinux-enabled=false)

修改sudo vim /etc/sysconfig/docker, 中的--selinux-enabled--selinux-enabled=false

如果需要, 可以修改/etc/selinux/configSELINUX的值为disabled., 不强求

docker启动容器报WARNING: IPv4 forwarding is disabled. Networking will not work.

编辑系统文件sudo vim /usr/lib/sysctl.d/00-system.conf, 在最后追加net.ipv4.ip_forward=1,
重启sudo systemctl restart network

docker相关使用的更多相关文章

  1. 【云计算】docker相关开源项目、工具

    十大基于Docker的开发工具 作者                     郭蕾        发布于     2014年8月19日     |              注意:QCon全球软件开发 ...

  2. Docker相关释义

    Docker相关释义 基础网站:http://www.runoob.com/docker/docker-tutorial.html Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上, ...

  3. docker相关操作

    docker 安装参照官网一步一步来,特别简单,主要是下载比较慢: docker 需要 管理员权限: docker 相关命令: 容器生命周期管理 — docker [run|start|stop|re ...

  4. Jenkins与Docker相关的Plugin使用

    原文地址:http://blog.csdn.net/ztsinghua/article/details/52128140 Jenkins与Docker相关的Plugin 在Jenkins Plugin ...

  5. Docker相关环境全套安装文档兼小技能

    Docker相关环境全套安装文档兼小技能 以下环境皆为ubuntu16.04,主要安装docker,docker-compose,docker仓库等. Docker安装 参考官方 A: 有源安装 Ub ...

  6. Docker相关文档

    网上找到的一个入门级Docker学习笔记,写的不错,值得一看. 转自:http://www.open-open.com/lib/view/open1423703640748.html#articleH ...

  7. Docker 相关命令汇总

    操作容器的命令 镜像中的容器启动之后可以在 docker 中操作和查看容器的信息 l   docker ps 查看运行的容器,如果想查看全部加上参数-a 即可 l   docker create 完整 ...

  8. docker相关总结

    Docker 的相关使用记录 一.安装docker linux环境使用yum命令安装docker 第一步:确保自己的虚拟机没有安装过docker,如果安装过的需要将原先的docker进行卸载,命令如下 ...

  9. docker相关配置

    一.概述: 1.centos7下,默认firewalld为防火墙, systemctl status firewalld.service 2.关闭firewalld, systemctl stop f ...

随机推荐

  1. Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)

    原文:Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定) ------------------------------ ...

  2. cocos2d-x 源代码分析 总文件夹

    这篇博客用来整理与cocos2d-x相关的工作,仅仅要有新的分析.扩展或者改动,都会更改此文章. 祝大家愉快~ 1.源代码分析 1.CCScrollView源代码分析 http://blog.csdn ...

  3. 联想K860 ROM 从官方Vibe 精简 提高性能

    ROM介绍 从官方:根据官方Vibe 1403 6从编译版本 除去不想要的软件的一部分 自己Root权限最新版本Superuser 园林绿化导航虚拟按键 优化系统.更顺畅 提升游戏性能 优化自己主动调 ...

  4. SendMessage函数与MSDN系统预定义消息

    SendMessage function https://msdn.microsoft.com/en-us/library/windows/desktop/ms644950%28v=vs.85%29. ...

  5. glibc 内存申请和释放及堆连续检查

    C语言有两种内存申请方式: 1.静态申请:当你声明全局或静态变量的时候,会用到静态申请内存.静态申请的内存有固定的空间大小.空间只在程序开始的时候申请一次,并且不再释放(除非程序结束). 2.自动申请 ...

  6. CentOS6.5优盘安装

    从CentOS6.5开始直接把iso文件写入u盘就可实现优盘安装 windows平台:1.用UltraISO打开iso(如:CentOS-6.5-x86_64-bin-DVD1.iso)2.然后点“启 ...

  7. C# GC Finalizer IDispseable,.Net的垃圾回收机制

    1.GC只能回收堆里的托管资源 2.GC 回收,"代"的概念 .net 托管资源分三代,代数越大 资源的生命周期越长. 0 代 和1代的资源比较少可以比较频率的回收, 回收2代以上 ...

  8. Git 将子文件夹分离为一个新的库

    前面的需求 公司Android的项目上,想要将一些module抽取出来,作为一个可以被其它项目上使用的. 所以使用了git submodule的方案. 为了将代码库中的一个文件夹分离后,作为一个单独的 ...

  9. Android Contact 导入导出 vcf格式(不依赖第三方库)

    Android sdk 支持vcf处理的(忘记最低哪个版本开始支持的了,可以查一查) 备注:此代码来自Stack Overflow(原地址找不到了,o(╥﹏╥)o) 1. 导出联系人为vcf格式 Co ...

  10. 微信小程序把玩(十四)button组件

    原文:微信小程序把玩(十四)button组件 button按钮用的算是最普遍的组件之一. 主要属性: wxml <!--按钮默认样式,点击事件--> <button type=&qu ...