一、安裝docker私服(Docker Registry)
- 下載鏡像Docker Registry
docker pull registry
- 運(yùn)行私有庫Registry,相當(dāng)于本地有個私有Docker hub
docker run -d -p 宿主機(jī)port:私服port -v /home/docker-registry/:/tmp/registry --privileged=true registry
- 驗證私服庫上有什么鏡像
curl -XGET http://宿主機(jī)ip:宿主機(jī)port/v2/_catalog
curl -XGET http://宿主機(jī)ip:宿主機(jī)port/v2/${imageName}/tags/list
- 將新鏡像 [鏡像:Tag] 修改符合私服規(guī)范的Tag
docker tag 鏡像:Tag Host:Port/鏡像:Tag
例docker tag zzyyubuntu:1.2 192.168.111.162:5000/zzyyubuntu:1.2
- 修改配置文件使之支持http
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"],
"insecure-registries": ["私服ip:私服port"]
}
在當(dāng)前服務(wù)器上開啟私服和鏡像
docker默認(rèn)不允許http方式推送鏡像耽装,通過配置選項來取消這個限制。====> 修改完后如果不生效借浊,建議重啟docker
- push推送到私服庫
docker push 私服ip:私服port/鏡像:Tag
- curl再次驗證私服庫上有什么鏡像
curl -XGET http://宿主機(jī)ip:宿主機(jī)port/v2/_catalog
- pull到本地并運(yùn)行
docker pull 私服ip:私服port/鏡像:Tag
docker run -it 鏡像ID /bin/bash
二减宣、安裝docker編排(Docker-Compose)
- 下載鏡像Docker-Compose
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
- Compose核心概念
docker-compose.yml
version: "3"
services:
ssoEureka:
image: 10.25.1.14:15000/sso_eureka:1.0
container_name: ssoEureka
ports:
- "8001:8001"
volumes:
- /home/server/config:/home/server/config
restart: always
ssoGetway:
image: 10.25.1.14:15000/sso_getway:1.0
container_name: ssoGetway
ports:
- "8002:8002"
volumes:
- /home/server/config:/home/server/config
restart: always
- Compose使用的三個步驟
- 編寫Dockerfile定義各個微服務(wù)應(yīng)用并構(gòu)建出對應(yīng)的鏡像文件
- 使用 docker-compose.yml 定義一個完整業(yè)務(wù)單元,安排好整體應(yīng)用中的各個容器服務(wù)画饥。
- 最后衔瓮,執(zhí)行docker-compose up命令 來啟動并運(yùn)行整個應(yīng)用程序,完成一鍵部署上線
- docker-compose常用命令
查看幫助
docker-compose -h
啟動所有docker-compose服務(wù)
docker-compose up
啟動所有docker-compose服務(wù)并后臺運(yùn)行
docker-compose up -d
停止并刪除容器抖甘、網(wǎng)絡(luò)热鞍、卷、鏡像衔彻。
docker-compose down
進(jìn)入容器實例內(nèi)部 docker-compose exec docker-compose.yml文件中寫的服務(wù)id /bin/bash
docker-compose exec yml里面的服務(wù)id
展示當(dāng)前docker-compose編排過的運(yùn)行的所有容器
docker-compose ps
展示當(dāng)前docker-compose編排過的容器進(jìn)程
docker-compose top
查看容器輸出日志
docker-compose logs yml里面的服務(wù)id
檢查配置
dokcer-compose config
檢查配置薇宠,有問題才有輸出
dokcer-compose config -q
重啟服務(wù)
docker-compose restart
啟動服務(wù)
docker-compose start
停止服務(wù)
docker-compose stop
三、安裝redis
1艰额、拉取鏡像
docker pull redis
2澄港、創(chuàng)建宿主機(jī)存儲文件夾
mkdir /home/docker-app/redis/data
3、創(chuàng)建redis.conf配置文件
vim /home/docker-app/redis/redis.conf
上傳redis.conf配置文件柄沮,并修改一下內(nèi)容
后臺運(yùn)行:daemonize yes(ps:docker啟動時要設(shè)置為no回梧,因為會跟docker后臺啟動沖突)
遠(yuǎn)程訪問:bind 127.0.0.1
防止了遠(yuǎn)程訪問: protected-mode
設(shè)置密碼: requirepass 123456
4逐工、啟動運(yùn)行容器
docker run -p 6379:6379 --name myr3 --privileged=true -v /home/docker-app/redis/redis.conf:/etc/redis/redis.conf -v /home/docker-app/redis/data:/data -d redis redis-server /etc/redis/redis.conf
5、docker編排redis容器
version: "3"
services:
redisServer:
image: redis
container_name: redisServer
ports:
- "6379:6379"
volumes:
- /home/docker-app/redis/redis.conf:/etc/redis/redis.conf
- /home/docker-app/redis/data:/data
restart: always
command: redis-server /etc/redis/redis.conf
四漂辐、安裝配圖服務(wù)運(yùn)行鏡像環(huán)境
1泪喊、拉取centos7鏡像文件
docker pull centos:7
2、更新引入必要的linux插件
由于鏡像是最小運(yùn)行髓涯,故鏡像中沒有所需的運(yùn)行插件袒啼,需要手動安裝一下
yum update
yum install gcc automake autoconf libtool make
3、上傳vector文件夾(系統(tǒng)必須的組件包)
4纬纪、執(zhí)行腳本
chmod -x gcc.sh
chmod -x node.sh
chmod -x ogr.sh
./gcc.sh
./node.sh
./ogr.sh
可能存在環(huán)境變量不能自動配置的情況
配置dotnet環(huán)境變量
tar -zxvf dotnet-sdk-2.1.401-linux-x64.tar.gz
vim /etc/profile.d/dotnetsdk.sh
export PATH=$PATH:/dotnetsdk/ #增加一行內(nèi)容
source /etc/profile.d/dotnetsdk.sh#使環(huán)境變量生效
dotnet --version
5蚓再、提交新的容器 使之成為一個新的鏡像