部署
-
阿里云镜像加速配置
#由于habor未配置https,还需要在docker配置可信任。 vim /etc/docker/daemon.json { "registry-mirrors":["https://njrds9qc.mirror.aliyuncs.com"], "insecure-registries":["192.168.10.163:11108", "0.0.0.0"], "log-driver":"json-file", "log-opts": {"max-size":"500m", "max-file":"3"} } #max-size=500m,意味着一个容器日志大小上限是500M, #max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。 #systemctl restart docker #systemctl status docker
-
安装
yum install -y docker-ce-19.03.5-3.el7.x86_64.rpm docker-ce-cli-19.03.5-3.el7.x86_64.rpm containerd.io-1.2.6-3.3.el7.x86_64.rpm
-
配置
vim /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock --graph /data/docker
-
启动
systemctl daemon-reload systemctl enable docker systemctl start docker 版本查看:docker version
-
开启动网络转发功能,默认会自动开启
#查看:为1是开启的 cat /proc/sys/net/ipv4/ip_forward #手动开启: vim /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p #生效
-
安装docker-compose,运行命令:
cd /usr/local/bin mv docker-compose-Linux-x86_64 docker-compose chmod +x /usr/local/bin/docker-compose 检查,运行 docker-compose --version
docker-compose摸板
version: '3'
services:
####################项目名########################
resin17005:
################使用镜像或构建镜像########################
#使用指定镜像
image: resin:4.0.64
#构建镜像
build:
#指定Dockerfile所在文件夹的路径
context: /path/to/build/dir 或者 ./dir
#指定Dockerfile文件
dockerfile: Dockerfile-alternate
#标签,构建过程中指定环境变量,但是在构建成功后取消,可以没有变量
args:
buildno: 1
password: secret
# 在Dockerfile中指定参数
#ARG buildno
#ARG password
#RUN echo "Build number: $buildno"
#RUN script-requiring-password.sh "$password"
#指定构建的镜像名和tag
image: webapp:tag
####################配置容器的重新启动##########
restart: always
####################配置资源限制##########
deploy:
resources:
limits:
cpus: '0.50'
memory: 50M
reservations:
cpus: '0.25'
memory: 20M
####################添加环境变量##########
environment:
- RACK_ENV=development
- SHOW=true
- SESSION_SECRET
####################容器名##########
container_name: resin_17005
####################文件映射##########
volumes:
- /data/code/project17005/WebContent:/opt/WebContent
- /opt/jdk:/opt/jdk
- /opt/fonts:/opt/fonts
####################往 /etc/hosts 文件中添加一些记录##########
extra_hosts:
- "somehost:162.242.195.82"
- "otherhost:50.31.209.229"
####################端口映射##########
ports:
- "17005:8080"
####################暴露端口,但不映射到宿主机,只被连接的服务访问##########
expose:
- "17005"
####################检查测试服务是否正常##########
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost || exit 1"]
interval: 1m30s
timeout: 10s
retries: 3
start_period: 40s
####################覆盖容器启动后默认执行的命令##########
command: /bin/bash -c “cp /app/dtest/config.default.yml /app/config.yml && python -u /app/dtest/tcc.py”
喜欢的亲可以关注点赞评论哦!以后每天都会更新的哦!本文为小编原创文章; 文章中用到的文件、安装包等可以加小编联系方式获得;
欢迎来交流小编联系方式VX:CXKLittleBrother 进入运维交流群