安装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. Win32 Windows计划 十一年

    一个.使用位图 1 位图 - 由图像上的各点的颜色被保存,生成对应的位图文件 栅格 - 保存图像可以理解为晶格 矢量图 - 能够理解为画图命令的保存 2 位图的使用 2.1 载入位图 LoadBitm ...

  2. python实现简易采集爬虫

    #!/usr/bin/python #-*-coding:utf-8-*- # 简易采集爬虫 # 1.采集Yahoo!Answers,parseData函数修改一下,可以采集任何网站 # 2.需要sq ...

  3. python下载图片(2)

    #-*- coding: UTF-8 -*- import urllib2, re,datetime,time, os,sys from PIL import Image, ImageDraw, Im ...

  4. 方阵的迹(trace)及其微分(导数)

    trace 的一个十分重要的性质在于线性性, Tr(A+B)=Tr(A)+Tr(B)Tr(cA)=cTr(A) 1. 基本性质 Tr(A)=Tr(AT) Tr(AB)=Tr(BA) Tr(ABC)=T ...

  5. WPF3D图片轮播效果

    原文:WPF3D图片轮播效果 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37591671/article/details/68059169 ...

  6. WPF元素绑定

    原文:WPF元素绑定 数据绑定简介:数据绑定是一种关系,该关系告诉WPF从源对象提取一些信息,并用这些信息设置目标对象的属性.目标属性是依赖项属性.源对象可以是任何内容,从另一个WPF元素乃至ADO. ...

  7. Nginx 设置cors跨域

    在我们的开发中,经常遇到跨域,这个时候,可以通过cors来解决. 解决的方法可以在服务端的代码层或者在web服务器进行设置 在web服务器上进行设置cors 跨域,这样就不必改动代码.以nginx为例 ...

  8. 图片处理拓展篇 : 图片转字符画(ascii)

    首先要明确思路, 图片是由像素组成的, 不同的像素有不同的颜色(rgb), 那么既然我们要转化为字符画, 最直接的办法就是利用字符串来替代像素, 也就是用不同的字符串来代表不同的像素. 另外图片一般来 ...

  9. RelativeSource 简述

    原文:RelativeSource 简述 RelativeSource实现标记扩展,以描述绑定源相对于绑定目标的位置. <Binding> <Binding.RelativeSour ...

  10. ManualResetEvent 让你的代码等你几分钟

    using System;using System.Collections.Generic;using System.Linq;using System.Threading; namespace Co ...