Docker的安装和学习
dockers学习
2019年2月23日开始
docker系统要求
centos 7 核心为3.1以上
centos6.5以上 核心为 2.6以上
centos版本查看
centos版本查看:cat /etc/redhat-release
centos内核版本查看: cat /proc/version
查看centos、为64位还是32位:getconf LONG_BIT
docker分为两个版本
1、docker ce 免费版
2、docker ee 企业版 付费版
一般使用dockerce
安装过程
1、删除原有的docker(原有版本的名字为docker 或者 docker engine)
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
完成后位提示OK(卸载完成),或者none found 没有发现
2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3、设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
5、安装docker
$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版docker-ce.x86_64 3:18.09.2-3.el7 不是后面带centos的版本 启动后显示的实际版本为18.09.2
$ sudo yum install <FQPN> # 例如:sudo yum install 18.03.1.ce-1.el7.centos 制定版本号
6、启动并加入开机启动
$ sudo systemctl start docker
$ sudo systemctl enable docker
7、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ docker version
看到client和server启动即可
8、docker学习的一些资料
http://www.runoob.com/docker/docker-container-usage.html
获取默认镜像列表并直接使用
1、docker search -s 3 centos 查找3星以上的话centos的镜像资源
语句说明
docker search [options] 镜像名称
※ -s num :可以查找多少星以上的镜像
※ --automated:默认false,显示automated build 镜像
※ --no-trunk :默认false ,不以截断方式查找镜像
2、获取想要的镜像
docker pull [options] 镜像名称[:tags]
※ -a :下载所有该tags的镜像
※ 忽略tags下载最新版本的镜像
3、查看本地已经下载的镜像
docker images
4、如何将镜像推送到docker hub网站
docker push 镜像:tags
docker 安装rabbitmq
1、获取rabbit镜像:
docker pull rabbitmq:management
2、创建并运行容器:
docker run -d --hostname my-rabbit --name rabbit -p 8080:15672 rabbitmq:management
docker run -d --hostname my-rabbit --name rabbit -p 5672:5672 -p 15672:15672 rabbitmq:management
--hostname:指定容器主机名称
--name:指定容器名称
-p:将mq端口号映射到本地
或在运行时设置用户和密码
docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
15672:控制台端口号
5672:应用访问端口号
3、通过IP:15672访问。本机为 192.168.21.151:15672来访问,如果不能访问就是需要防火墙取消端口限制,无论如何都没办法访问重启后解决
取消防火墙对端口的限制:
vim /etc/sysconfig/iptables
增加一行,端口为15672的限制取消
防火墙重新生效
service iptables restart
查看那些端口可用:
netstat -lntp
4、查看运行状况docker logs rabbit
删除容器
先停止 docker stop container_id
docker rm container_id 可以强制删除 参数为-f
处理不了,重启主机后解决****
docker从国内拉取镜像,或者通过加速器拉取
由于国内访问直接访问Docker hub网速比较慢,拉取镜像的时间就会比较长。一般我们会使用镜像加速或者直接从国内的一些平台镜像仓库上拉取
由于国内访问直接访问Docker hub网速比较慢,拉取镜像的时间就会比较长。一般我们会使用镜像加速或者直接从国内的一些平台镜像仓库上拉取。
我比较常用的是网易的镜像中心和daocloud镜像市场。
网易镜像中心:https://c.163.com/hub#/m/home/
daocloud镜像市场:https://hub.daocloud.io/
我们可以先查看下自己的镜像,使用命令:
docker images
然后可以在网易的镜像中心和daocloud镜像市场上查询想要拉取的镜像。
如图:网易镜像 为网易蜂巢
获取镜像地址:拉取镜像的命令是:
docker pull 镜像名字
所以我们可以按照给出的镜像名字或者命令直接拉取。
docker pull hub.c.163.com/library/tomcat:latest
如果说还是想从dockerhub上拉取,那么使用加速器修改docker的registry-mirrors。我这里使用的是DaoCloud的加速器。
首先在http://www.daocloud.io/进行注册登录。然后点击加速器。
就可以获取加速器的相关配置。
由于docker的版本不同和操作系统。使用的方法也有差异。我这里使用的是centos7.2和docker1.12的。
使用命令
docker version
[root@localhost etc]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
在使用daocloud加速器时,上面有说明文档。
所以刚开始我在寻找/etc/default/docker这个配置文件,一直找不到,后来发现是因为系统和版本的差异。
在centos7上这个配置文件已经被更改为 /etc/docker/daemon.json
可以在这个配置中添加相应的registry-mirrors路径
原来是这样:
[root@localhost docker]# cat daemon.json
{
"live-restore": true
}
添加后:
{
"registry-mirrors": ["http://ef017c13.m.daocloud.io"],
"live-restore": true
}
可以手动vim添加,也可以使用daocloud给出的命令直接更改(建议使用命令)
复制代码 代码如下:
[root@localhost docker]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ef017c13.m.daocloud.io
自动配置加速器
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。适用于 Ubuntu14.04、Debian、CentOS6 、CentOS7、Fedora、Arch Linux、openSUSE Leap 42.1,其他版本可能有细微不同。更多详情请访问文档。
更改后重启docker
service docker restart
然后再拉取镜像就会发现速度提高好多。
详情请参考daocloud的说明文档:http://guide.daocloud.io/dcs/daocloud-9153151.html
docker官方文档:https://docs.docker.com/engine/admin/
里面有其他版本的修改说明。
Docker的安装和学习的更多相关文章
- 【学习】在Windows10平台使用Docker ToolBox安装docker(一)
前言:今天距离元旦还有44天,时间点是18:11:45,想了想一路学习的过程和其中遇到的困难,其中有克服的,有放弃的,这有可能是我自己意志不坚定吧,学习docker也是我当下的一个目标,不知道会是成功 ...
- windows下docker的安装及常用命令学习
docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...
- 从零开始学习docker之docker的安装
一.Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程 ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- centos7安装docker并安装jdk和tomcat(常用命令)
阿里专属的镜像加速 在宿主机器编辑文件:vi /etc/docker/daemon.json 阿里专属的镜像加速地址,类似于"https://91cntlkt.mirror.aliyuncs ...
- Docker的安装和测试
1,Docker安装 Docker是啥,以及其与虚拟机的对比,就不介绍了,网上有很多资源可以学习和了解. 本篇文章重点介绍Docker的安装和测试使用. Docker的安装,分为离线安装和在线安装两种 ...
- WIN10中DOCKER的安装
1.docker的安装 环境准备 Docker for Windows是一个Docker Community Edition(CE)应用程序.Docker for Windows安装包包含了在Wind ...
- centos中docker的安装
之前学习docker的时候,是在windows上直接使用可执行文件安装的,最近需要在自己的服务器上安装docker,特此了解了一下如何安装,这里补一下. 小白学Docker之基础篇 小白学Docker ...
- Docker - CentOS 安装 Docker 和 Docker-Compose
目录 介绍 Docker Docker-Conpose 安装 Docker CE 系统要求 使用 YUM 安装 配置加速器 安装 Docker-Compose 介绍 Docker Docker 是一个 ...
随机推荐
- 用python实现简易学生管理系统
以前用C++和Java写过学生管理系统,也想用Python试试,果然“人生苦短,我用Python”.用Python写的更加简洁,实现雏形也就不到100行代码. 下面上代码 #!/usr/bin/pyt ...
- Ocelot 网关 和 consul 服务发现
服务发现 Consul 一.安装和启动 下载 [Consul](https://www.consul.io/downloads.html) 下载完成后,解压,只有一个consul.exe,把目录添加到 ...
- 学完微型服务器(Tomcat)对其工作流程的理解,自己着手写个简单的tomcat
学完微型服务器(Tomcat)对其工作流程的理解,自己着手写个简单的tomcat 2019-05-09 19:28:42 注:项目(MyEclipse)创建的时候选择:Web Service Pr ...
- 网络文件共享服务—vsftpd服务
文件传输协议(FTP) 文件传输协议:File Transfer Protocol是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式.它属于网络传输协议的应用层. 服务器端:vsftpd ...
- 在Winform中屏蔽UnityWebPlayer的右键以及自带Logo解决方案整理
根据项目的需要,对已经完成的Unity三维模型以及游戏要使用Winform进行包装,也就是使用Winform做一层外壳.因此在展示Unity的时候使用到了UnityWebPlayer这个插件,对于此插 ...
- python3 django项目从项目中导出依赖包
1. 在项目的根目录中使用mac终端执行命令, pip3 freeze > requirements.txt #requirements.txt只是个名字可以随便起,一般默认为requireme ...
- Kotlin 中类函数
在kotlin中函数可以在类外部定义也可以在类内部定义,前者即为全局函数,后者,是类成员函数,语法一样 package loaderman.demo class Person { fun demo(n ...
- 关于ios在H5页面长按识别二维码无效
环境 框架: vue 操作系统: ios 解决 如果你的vue-router用了mode:history: 把它去掉用默认的就OK了
- mysql多实例搭建
一)多实例安装 [root@mysqlmaster01 ~]# mkdir /data/mysql_data2[root@mysqlmaster01 ~]# mkdir /data/mysql_dat ...
- 防止sshd服务被暴力破解
方法有很多种,这里介绍两种. (1).配置安全的shhd设置 不允许root用户直接登录到系统,添加一个普通用户,必要时再切换到root用户. 修改默认端口号. 不允许密码登录,只能通过密钥登录系统. ...