安装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. Git学习笔记(两)

    删除文件 假设需要从Git删除文件,我们必须从删除列表中的跟踪文件(从临时区域中删除).然后提交.可以使用git rm工作订单完成.联合司令部从工作区删除指定的文件.以后就不会出如今未跟踪文件清单中. ...

  2. JPA示例项(J采纳PA的hibernate实现版本号)

    (1).JPA介绍: JPA全名Java Persistence API ,Java坚持API这是Sun公司Java EE 5规范中提出的Java持久化接口. JPA吸取了眼下Java持久化技术的长处 ...

  3. JavaScript知识树

  4. Xamarin简介

    简介 简单来说,Xamarin提供了使用C#完成iOS,Android和Windows Phone三个移动平台开发的可能性Xamarin包括Xamarin.Andriod.Xamarin.IOS.Xa ...

  5. WCF服务的IIS托管(网站托管)

    基本思路 1.新建WCF应用程序2.注册路由(可省略,则用/….svc/….访问)配置文件 <appSettings> <add key="aspnet:UseTaskFr ...

  6. C#热敏打印图片 串口打印图片

    原文:C#热敏打印图片 串口打印图片 如图,一步一步慢慢调出来的 //串口通信类 public System.IO.Ports.SerialPort serialPort = null; serial ...

  7. Windows系统CPU内存网络性能统计第一篇 内存

    最近翻出以前做过的Windows系统性能统计程序,这个程序可以统计系统中的CPU使用情况,内存使用情况以及网络流量.现在将其整理一下(共有三篇),希望对大家有所帮助. 目录如下: 1.<Wind ...

  8. WPF ScrollViewer(滚动条) 自定义样式表制作 (改良+美化)

    原文:WPF ScrollViewer(滚动条) 自定义样式表制作 (改良+美化) 注释直接写在代码里了   不太理解意思的 可以先去看看我上一篇  WPF ScrollViewer(滚动条)  自定 ...

  9. WPF WindowChrome 自定义窗口

    1.wpf自定义窗口: WindowChrome类描述:https://msdn.microsoft.com/zh-cn/library/system.windows.shell.windowchro ...

  10. Qt 跨UI线程的数据交换和信号-槽调用实现方案汇总

    一.目录 转载1: http://my.oschina.NET/fanhuazi/blog/737224?ref=myread 点击打开链接 转载2: http://www.qtcn.org/bbs/ ...