網絡配置:
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/鏡像名