yjiang's cake

docker 基于容器打包镜像

基于容器打包镜像

  • 以alpine下安装autossh为例
  • 保存安装了autossh的容器为新的镜像
  • 映射容器999端口到宿主机999端口

1.下载基础镜像alpine

docker pull alpine

2.运行容器

docker run -it alpine sh
  • 此处应注意不要使用-d后台运行,因为docker的运行机制为:当检测到容器中没有正在运行的进程时,将自动终止容器的运行.
  • 所以想让docker容器保持运行,必须在创建容器时执行一个非后台进程

3.安装autossh

echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories

apk update && apk add autossh

4.创建容器开启时的启动脚本(可选)

touch start.sh
chmod +x start.sh
echo "authssh -M 54321 -CNg -D 999 user@host"
  • 如果不使用启动脚本,可以直接在创建容器的时候调用启动命令
  • 如果使用启动脚本,需要保证脚本里的进程不会放入后台,否则docker容器会自动关闭

5.保存当前修改为新的镜像

docker ps
docker commit <container id> <image name>

6.基于镜像启动容器

#使用启动脚本
docker run --name=<container name> -it -p 999:999 -d <image name> /start.sh
#不使用启动脚本
docker run --name=<container name> -it -d 999:999 <image name> "authssh -M 54321 -CNg -D 999 user@host"

dig使用指定dns进行查询

 dig @<ip> <domain>
 #dig 8.8.8.8 yjiang.cn

Docker更换daocloud源

新建/etc/default/docker文件,并增加以下内容:

DOCKER_OPTS="--registry-mirror=http://f3bd1f11.m.daocloud.io"

重启docker服务:

systemctl restart docker

新版MIUI解锁system分区

解锁命令

    adb root
    adb disable-verity
    adb reboot

如果提示diable-verity命令找不到,是adb版本太低

重新上锁

    adb root
    adb enable-verity
    adb reboot

Copyright © 2016 yjiang's cake

返回顶部