docker容器化部署

1.  下载docker

yum install docker

2.  启动docker

systemctl start docker

systemctl enable docker

3.  设置docker远程镜像仓库地址

编辑/etc/docker/daemon.json文件,配置为阿里云里面的仓库地址,方便拉镜像;

4.  查看是否安装运行成功

docker --version

5. 基本docker命令:

  • 拉取镜像:docker pull 镜像名:版本号
  • 查看镜像:docker images
  • 删除镜像:docker rmi -f 镜像id
  • 创建网络:docker network create 网络名
  • 创建并启动容器:docker run --name 容器名 --network 网络名 -p 端口映射 -d 镜像名:版本
  • 查看容器: docker ps (-a/-q)
  • 进入容器:docker exec -it 容器id bash
  • 停止容器:docker stop 容器id
  • 启动容器:docker start 容器id
  • 重启容器:docker restart 容器id
  • 删除容器:docker rm -f 容器id
  • 查看容器日志:docker logs 容器id
  • 导出镜像:docker save -o /路径/包名.tar 镜像名:tag
  • 导入镜像:docker load -i /路径/包名.tar

6.  nacos和redis等基础服务镜像

nacos和redis的镜像从外网pull下来,使用docker save 导出,拷到内网后,用docker load导入;

6.1  创建并启动nacos:

docker -run --name nacos --network 网络名 -e MODE=standalone -p 8848:8848 -d nacos/nacos-server:latest 

6.2.  创建并启动redis:

docker -run --name redis --network 网络名 -p 6379:6379 -d redis:latest 

7.  自定义镜像:

7.1  修改配置文件

在打自定义镜像前需要把所有服务的配置文件中redis和nacos的ip由10.21.1.xxx改为容器名,所有调用其他服务的ip也均改为对应的容器名;

7.2  Dockerfile
7.2.1 account-service项目的Dockerfile:

# 使用官方的CentOS 7镜像

FROM docker.io/centos:7

# 安装Java 8

RUN yum install -y java-1.8.0-openjdk

# 设置Java环境变量

ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

ENV PATH=$PATH:$JAVA_HOME/bin

# 创建一个工作目录

WORKDIR /app

# 将本地文件复制到镜像中

COPY /account-service-1.0-SNAPSHOT.jar /app/account-service-1.0-SNAPSHOT.jar

COPY /application.yml /app/application.yml

# 暴露容器的端口

EXPOSE 8308

CMD ["java","-jar","account-service-1.0-SNAPSHOT.jar","--spring.config.location=application.yml",">>","account-service.log","&"]

7.2.2  仿真推演项目的Dockerfile:

# 使用官方的CentOS 7镜像

FROM docker.io/centos:7

# 安装Java 8

RUN yum install -y java-1.8.0-openjdk

# 设置Java环境变量

ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

ENV PATH=$PATH:$JAVA_HOME/bin

# 创建一个工作目录

WORKDIR /app

# 创建文件夹

RUN mkdir -p /app/share/UEData

# 设置文件夹所有者和权限

RUN chown -R 1000:1000 /app/share/UEData

RUN chmod -R 755 /app/share/UEData

#资源文件复制到uploadPath

COPY /static . /app/

# 将本地文件复制到镜像中

COPY /Simulation-Deduction-0.0.1-SNAPSHOT.jar /app/Simulation-Deduction-0.0.1-SNAPSHOT.jar

COPY /application.yml /app/application.yml

# 暴露容器的端口

EXPOSE 8305

CMD ["java","-jar","Simulation-Deduction-0.0.1-SNAPSHOT.jar","--spring.config.location=application.yml",">>","Simulation-Deduction.log","&"]

7.2.3  socket-service、webInformation、worker、基础算法、模型库的Dockerfile类似,只需要根据需要修改:RUN创建文件夹、COPY复制的本地文件、EXPOSE 暴露端口、CMD等部分;
7.3  build镜像

docker build -t 镜像名:tag .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值