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/
里面有其他版本的修改说明。