网络配置:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
dbcp->static no->yes
IPADDR=ip
GATEWAY=网关
DNS1=
route -n 查看有没有 0.0.0.0 -网关 0.0.0.0
如果没有,是ping不通外网的
那么得要添加路由
route add default gw 网关
service network restart
作用:
构建开发 测试 生产 环境
构建服务
Docker:
client/server(守护进程:连接(管理)docker容器 宿主机)
镜像(用来运行容器的一组文件的集合)与(产生多个)容器
注册中心:
共有Docker Hub
私有搭建
安装:
(centos7)
1.sudo yum update(update yum)
2.sudo yum install -y yum-utils device-mapper-persistent-data lvm2(yum-utils)
3.sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo((将yum源为阿里云))
4.sudo yum install docker-ce(安装docker社区版)
5.docker -v(查看docker版本)
删除:
yum list installed | grep docker
yum remove -y docker_id
启动和停止:
解决加速1:
vi /etc/docker/daemon.json
daemon.json/daemon.conf
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
{
"registry-mirrors":["http://f1361db2.m.daocloud.io"]
}
解决加速2:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
start:
systemctl start docker
systemctl restart docker
systemctl enable docker
stop:
systemctl stop docker
status:
systemctl status docker
镜像相关:
查看镜像 docker images
搜索镜像 docker search [镜像]
拉取镜像 docker pull [镜像]
删除镜像 docker rmi 镜像ID
删除所有 docker rmi `docker images -q`
导出镜像:docker save imagesid > /path
导入镜像:docker load imagesid < /path
容器相关:
查看容器:
docker ps
-a
-l
-f stauts-exited
创建:
docker run
-i(运行)
-t(进入)
-name(命名)
-v(目录映射)
-d(不进入)
-p(端口映射)
进入和退出容器:
docker exec -i -t 容器名 /bin/bash
exit 退出
停止与启动容器:
docker start 容器名/id
docker stop 容器名/id
文件拷贝:
docker cp 文件名 容器名:tag/dir
目录挂载:
查看容器ip:
docker inspect 容器名
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名
删除容器:
docker rm 容器名
常用软件部署:
mysql部署
docker pull centos/mysql-57-centos7
docker run -di --name=mysql57_sssd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
tomcat部署
docker pull tomcat:7-jre7
docker run -di --name=tomcat_sssd -p 8080:8080 tomcat:7-jre7
nginx部署
docker pull nginx
docker run -di --name=nginx_example -p 80:80 nginx
redis部署
docker pull redis
docker run -di --name=redis_example -p 6379:6379 redis
zookeeper部署
docker pull zookeeper:3.5
docker create --name zk -p 2181:2181 zookeeper:3.5
docker start zk
mysql-google-percona部署
docker pull percona:5.7.23
docker create --name percona -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23
rocketmq部署:
#拉取镜像
docker pull foxiswho/rocketmq:server-4.3.2
docker pull foxiswho/rocketmq:broker-4.3.2
#创建nameserver容器
docker create -p 9876:9876 --name rmqserver \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
-e "JAVA_OPTS=-Duser.home=/opt" \
-v /soft/rmq/rmqserver/logs:/opt/logs \
-v /soft/rmq/rmqserver/store:/opt/store \
foxiswho/rocketmq:server-4.3.2
#创建broker容器
docker create -p 10911:10911 -p 10909:10909 --name rmqbroker \
-e "JAVA_OPTS=-Duser.home=/opt" \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
-v /soft/rmq/rmqbroker/conf/broker.conf:/etc/rocketmq/broker.conf \
-v /soft/rmq/rmqbroker/logs:/opt/logs \
-v /soft/rmq/rmqbroker/store:/opt/store \
foxiswho/rocketmq:broker-4.3.2
#启动容器
docker start rmqserver rmqbroker
#拉取镜像
docker pull styletang/rocketmq-console-ng:1.0.0
#创建并启动容器
docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=172.16.55.185:9876 -
Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8082:8080 -t styletang/rocketmq-
console-ng:1.0.0
迁移与备份:
容器保存为镜像
docker commit 容器名 保存后的镜像名
镜像导出
docker save -o 文件名 镜像名
镜像导入
docker load -i 文件名
Dockerfile:
语法:
FROM 使用哪个基础镜像
MAINTAINER 声明镜像的创建者
ENV 设置环境变量
RUN 核心部分
ADD 复制文件自动解压
COPY 复制文件但不能自动解压
WORKDIR 设置工作目录
docker build -t='镜像名' .(Dockerfile所在文件夹)
私服搭建:
docker pull registry
docker run -di --name=registry_example -p 5000:5000 registry
vi /etc/docker/daemon.json
{
"insecure-registries":["192.168.111.111:5000"]
}
docker tag 镜像名 192.168.111.111:5000/镜像名
docker push 192.168.111.111:5000/镜像名