基本环境
配置镜像加速
见本人博客 Windows Docker Desktop 折腾之路 - jentreywang - 博客园
必须是Unix编码
start.sh
#!/bin/bash echo "start iiir container ..." /etc/init.d/ssh start /bin/bash
尾部(line4)开启新的会话,防止容器执行完毕后自关闭
当前的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
docker pull mysql:5.7.32
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 .
$ docker login --username=阿里云用户名 registry.cn-shanghai.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在访问凭证页面修改凭证密码。
$ docker pull registry.cn-shanghai.aliyuncs.com/amtc_docker_aliyun/iiir-amd64:[镜像版本号]
$ 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]和[镜像版本号]参数。
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-shanghai.aliyuncs.com 作为Registry的域名登录。
使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。
$ docker images
使用 "docker push" 命令将该镜像推送至远程。
$ docker push registry-vpc.cn-shanghai.aliyuncs.com/acs/agent:0.7-dfb6816
docker pull nginx:1.20
docker network create --driver bridge --subnet 192.168.4.0/24 --gateway 192.168.4.1 mynet
mynet是网络命,可自定义
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
Remote - SSH
Remote - SSH: Editing Configuration Files
Remote Development
处于 ~/.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
文件,重新建立连接即可