docker安装
1、更新update到最新的版本
yum update
2、卸载老版本docker
yum remove docker docker-common docker-selinux docker-engine
3、安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
4、设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、查看docker版本
yum list docker-ce --showduplicates|sort -r
6、安装docker
yum install docker-ce-18.03.1.ce -y
7、启动docker
systemctl start docker
8、加入开机自启
systemctl enable docker
9、配置国内镜像
vi /etc/docker/daemon.json
{
“registry-mirrors”: [“http://hub-mirror.c.163.com”]
}
安装redis
- 将Dockerfile上传到/usr/docker/redis目录下,源码如下:
FROM centos:latest
RUN groupadd -r redis && useradd -r -g redis redis
RUN yum -y update && yum -y install epel-release && yum -y install redis && yum -y install net-tools
EXPOSE 6379
- cd /usr/docker/redis
- docker build -t redis .(redis为镜像名称,. 不要忘记)
- docker images(查看构建的镜像)
- docker ps -a(查看容器)
docker安装redis集群
- docker network ls(查看默认网络)
-
bridge:桥接网络
默认情况下启动的Docker容器,都是使用 bridge,Docker安装时创建的桥接网络,每次Docker容器重启时,会按照顺序获取对应的IP地址,这个就导致重启下,Docker的IP地址就变了
-
none:无指定网络
使用 --network=none ,docker 容器就不会分配局域网的IP -
host: 主机网络
使用 --network=host,此时,Docker 容器的网络会附属在主机上,两者是互通的。
例如,在容器中运行一个Web服务,监听8080端口,则主机的8080端口就会自动映射到容器中
-
- docker network create --subnet=172.10.0.0/16 mynetwork(创建指定的自定义网络)
- docker run -itd --name redis-master --net mynetwork -p 6380:6379 --ip 172.10.0.2 redis (创建主redis容器)
- docker run -itd --name redis-slave --net mynetwork -p 6381:6379 --ip 172.10.0.3 redis (创建从redis容器)
- docker ps -a / docker container(查看容器)
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--ip: 为容器制定一个固定的ip
--net: 指定网络模式