iiir 项目 Windows部署

2022/4/7 7:21:52

本文主要是介绍iiir 项目 Windows部署,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

iiir 项目 Windows部署

准备docker

  • 基本环境

  • 配置镜像加速

见本人博客 Windows Docker Desktop 折腾之路 - jentreywang - 博客园

准备脚本和vscode-server安装包

容器的启动脚本 - 用于容器运行时启动服务

必须是Unix编码

start.sh

#!/bin/bash
echo "start iiir container ..."
/etc/init.d/ssh start
/bin/bash

尾部(line4)开启新的会话,防止容器执行完毕后自关闭

准备vscode-server安装包 - 用于VSCode 远程开发

当前的vscode发行版是

版本: 1.66.0 (user setup)
提交: e18005f0f1b33c29e81d732535d8c0e47cafb0b5
日期: 2022-03-30T05:50:14.623Z
Electron: 17.2.0
Chromium: 98.0.4758.109
Node.js: 16.13.0
V8: 9.8.177.11-electron.0
OS: Windows_NT x64 10.0.19043

下载地址的通式

RUN commit_id=e18005f0f1b33c29e81d732535d8c0e47cafb0b5 \
    && curl -sSL https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable -o 

人类能看懂的通式

commit_id = "e18005f0f1b33c29e81d732535d8c0e47cafb0b5";
url = "https://update.code.visualstudio.com/commit:" + \
      commit_id  + "/server-linux-x64/stable"

下载后保存为默认文件名 vscode-server-linux-x64.tar.gz

准备镜像

MySQL

docker pull mysql:5.7.32

Python* 编译路径(也可直接拉取)

docker pull python:3.8.10-slim-buster

dockerfile: dockerfile_py

FROM python:3.8.10-slim-buster
MAINTAINER jentreywang
LABEL version="1.2" \
    description="Development & production environment for iiir project web server. (Basic image including python:3.8.10-slim-buster, openssh-server, git, vscode-server) " \
    createDate="2022-04-06" \
    by="jentreywang "
RUN apt-get update \
    && apt-get install --no-install-recommends -y \
    make \
    build-essential \
    openssh-server \
    git \
    curl \
    wget \ 
    && apt-get autoremove -y \
    && update-ca-certificates \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
    && echo "root:iiir@iiir" | chpasswd \
    && mkdir -p /home/iiir/tools \ 
    && mkdir -p /home/iiir/script
COPY vscode-server-linux-x64.tar.gz /home/iiir/tools
COPY start.sh /home/iiir/script
RUN commit_id=e18005f0f1b33c29e81d732535d8c0e47cafb0b5 \
    && mkdir -p ~/.vscode-server/bin/${commit_id} \
    && cd ~/.vscode-server/bin/${commit_id} \
    && gunzip -q -r /home/iiir/tools/vscode-server-linux-x64.tar.gz \
    && echo "PermitRootLogin yes"        >> /etc/ssh/sshd_config \
    && echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config \
    && ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
EXPOSE 22 80 8080 8081 8082 8083 8084 8085
ENTRYPOINT ["/home/iiir/script/start.sh"]

编译

docker build -f dockerfile_py -t iiir-server:1.2 .

Python* 拉取

  1. 登录阿里云Docker Registry
$ docker login --username=阿里云用户名 registry.cn-shanghai.aliyuncs.com

用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

您可以在访问凭证页面修改凭证密码。

  1. 从Registry中拉取镜像
$ docker pull registry.cn-shanghai.aliyuncs.com/amtc_docker_aliyun/iiir-amd64:[镜像版本号]
  1. 将镜像推送到Registry
$ docker login --username=cloud**** registry.cn-shanghai.aliyuncs.com
$ docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/amtc_docker_aliyun/iiir-amd64:[镜像版本号]
$ docker push registry.cn-shanghai.aliyuncs.com/amtc_docker_aliyun/iiir-amd64:[镜像版本号]

请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。

  1. 选择合适的镜像仓库地址

从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。

如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-shanghai.aliyuncs.com 作为Registry的域名登录。

  1. 示例

使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。

$ docker images

使用 "docker push" 命令将该镜像推送至远程。

$ docker push registry-vpc.cn-shanghai.aliyuncs.com/acs/agent:0.7-dfb6816

nginx

docker pull nginx:1.20

准备docker net

docker network create --driver bridge --subnet 192.168.4.0/24 --gateway 192.168.4.1 mynet

mynet是网络命,可自定义

运行容器

Python

iiir(本项目先创建mynet)

docker run -itd -h iiir-server --restart=always -p 11122:22 -p 11180:80 -p 18080:8080 -p 18081:8081 -p 18082:8082 -p 18083:8083 -p 18084:8084 -p 18085:8085 --name iiir --net docker网络命 镜像名:版本号 /bin/bash

VSCode SSH 连接事项

所需插件

  • Remote - SSH

  • Remote - SSH: Editing Configuration Files

  • Remote Development

配置Host

处于 ~/.ssh/config

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host 可自定义的名称,不可使用特出符号,如冒号
    HostName 1.0.0.1 IP地址
    User root host登录用户名
    Port 22 host的开放端口

如果连接失败

删除 ~/.ssh/config下的 known_hosts文件,重新建立连接即可



这篇关于iiir 项目 Windows部署的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程