docker相关使用
安装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/config中SELINUX的值为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相关使用的更多相关文章
- 【云计算】docker相关开源项目、工具
十大基于Docker的开发工具 作者 郭蕾 发布于 2014年8月19日 | 注意:QCon全球软件开发 ...
- Docker相关释义
Docker相关释义 基础网站:http://www.runoob.com/docker/docker-tutorial.html Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上, ...
- docker相关操作
docker 安装参照官网一步一步来,特别简单,主要是下载比较慢: docker 需要 管理员权限: docker 相关命令: 容器生命周期管理 — docker [run|start|stop|re ...
- Jenkins与Docker相关的Plugin使用
原文地址:http://blog.csdn.net/ztsinghua/article/details/52128140 Jenkins与Docker相关的Plugin 在Jenkins Plugin ...
- Docker相关环境全套安装文档兼小技能
Docker相关环境全套安装文档兼小技能 以下环境皆为ubuntu16.04,主要安装docker,docker-compose,docker仓库等. Docker安装 参考官方 A: 有源安装 Ub ...
- Docker相关文档
网上找到的一个入门级Docker学习笔记,写的不错,值得一看. 转自:http://www.open-open.com/lib/view/open1423703640748.html#articleH ...
- Docker 相关命令汇总
操作容器的命令 镜像中的容器启动之后可以在 docker 中操作和查看容器的信息 l docker ps 查看运行的容器,如果想查看全部加上参数-a 即可 l docker create 完整 ...
- docker相关总结
Docker 的相关使用记录 一.安装docker linux环境使用yum命令安装docker 第一步:确保自己的虚拟机没有安装过docker,如果安装过的需要将原先的docker进行卸载,命令如下 ...
- docker相关配置
一.概述: 1.centos7下,默认firewalld为防火墙, systemctl status firewalld.service 2.关闭firewalld, systemctl stop f ...
随机推荐
- Win10局域网内无法共享的解决方法分享(开启Server和ComputerBrowser服务,其它文章也不错)
局域网共享是办公环境下经常使用的,而有些用户反应在升级到win10系统后,网络总是无法共享,给用户带来了很大的困扰,如果你也遇上这样的情况,并通过一些方法无较后,不妨尝试下小编提供的方法. 如果在Wi ...
- Select2使用方法汇总
引用: <script src="~/Content/plugins/select2/select2.min.js"></script> 1.简单使用 $. ...
- SEO分享:为什么我的资源外链这么多的高品质?
在小浪前制成的制品" [完整版]我怎么3的月800单词索引厨师主页!".之后,很多人都表示了极大的钦佩观看.顽强的运行力,真SEO它是运行顽强的力量.也有人说是吹牛吧,一天500外 ...
- doesn't contain a valid partition table 解决方法
输入 fdisk -l 可以看到 输入 fdisk /dev/xvdb 跟着向导一步步做下去(如果不知道该输入什么,就输入“m”并回车,可以打印出菜单): Command (m for help): ...
- 多线程Parallel和Task
不管是Parallel还是Task,最里面都是线程池(里面是线程)当开启多个任务后,系统会根据当前的线程池的资源进行分配,任务则进行等待Parallel可以对系统的CPU进行设置,可以最大程度上榨干系 ...
- 通通玩blend美工(7)——简约而不简单的块
原文:通通玩blend美工(7)--简约而不简单的块 最近在研发一个WPF快速开发框架,满脑子都是各种逻辑各种模式,写一篇比较休闲娱乐的博客,宣泄下我对美工的热爱. 我一直以来有意无意在手机应用或者各 ...
- ORM 集合
1.EF https://github.com/aspnet 2.Chloe.ORM http://www.cnblogs.com/so9527/p/5809089.html http://www ...
- 让用户使用第三方账号(如亚马逊账号)接入AWS IoT系统
我们想象这么一个IoT应用场景:厂商A使用AWS IoT来开发物联网解决方案,那么A把设备卖给用户的时候,需要使用户能够登入AWS IoT系统来控制其购买的A的设备,也就是说给用户分配适当的权限.下面 ...
- QList, QLinkedList, QVector, QStack, QQueue的区别,以前也没见过QCache,而且可以自定义cost
http://doc.qt.io/qt-4.8/containers.html http://doc.qt.io/qt-4.8/qcache.html
- <input type="image"> 和 <img> 用法区别
原文:<input type="image"> 和 <img> 用法区别 w3c定义如下: Image <input type="image ...