中文 / English
luckfu的潦草笔记

最初的梦想绝对会到达!


  • 首页

  • 归档

  • 关于我

  • 公益404

  • 搜索

将docker容器作为虚拟机折腾

时间: 2021-07-15   |   分类: cloud vps   docker   | 字数: 827 字 | 阅读: 2分钟 | 阅读次数:

上一篇说到Oracle Cloud免费且大热的4c24g的VM.Standard.A1.Flex机型难申请,而实际使用中,oracle cloud免费套餐中陷阱还是很多的,以下是几种常见情况:

免费主机超额度,免费存储超额度,oc优先停掉的资源就是这个A1.Flex机型。

A1.Flex机型可选操作系统只有oracle linux 7或8,不一定顺手。

操作系统被玩坏时,不像一般云服务控制台可以恢复镜像,你只能重新申请

将容器作为虚拟机使用并不符合容器应用部署的初衷,但鉴于以上问题本文中采用docker创建一个容器代替虚拟机,一切在虚机中操作,当系统灾难不可恢复时,删掉就好,省却刷机抢注之苦。

布署步骤

ssh 登录到主机

1、安装docker

yum install docker

2、Dockerfile

编写Dockerfile

FROM ubuntu:20.04
LABEL MAINTAINER="luckfu.com"
USER root

# change root password to `ubuntu`
RUN echo 'root:ubuntu' | chpasswd 
ENV DEBIAN_FRONTEND noninteractive

# install ssh server
RUN apt-get update && apt-get install -y \
  openssh-server sudo \
  && rm -rf /var/lib/apt/lists/* \
  && mkdir -p /run/sshd \
  && ssh-keygen -A \
  && sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config \
  && apt-get purge -y --auto-remove 

EXPOSE 22

# run ssh server
CMD ["/usr/sbin/sshd", "-D", "-o", "ListenAddress=0.0.0.0"]

3、生成镜像

docker build -f ./Dockerfile -t ubuntu-ssh

使用 docker images命令查看

docker images
REPOSITORY     TAG       IMAGE ID       CREATED       SIZE
ubuntuos-ssh   latest    b6010c26ebb7   1 days ago   189MB
ubuntu         20.04     d5ca7a445605   8 weeks ago   65.6MB

4、启动容器

执行命令

docker run -d -p 9022:22  -p 8000-9000:8000-9000 \
-v /data/:/data \
--name ubuntuos-ssh ubuntuos-ssh 

主要参数及含义:

参数 解释
-d 守护进程模式
-p 端口映射 [主机端口:容器端口]
-v 存储卷映射 [主机目录:容器目录]
–name 指定容器名称 ubuntuos

上述命令中我们部署了一个名称为ubuntuos-ssh的容器,将主机的/data(oracle cloud 中可以申请100G“始终免费”存储,挂载到主机/data)挂载到容器的/data下,将主机的9022映射容器的ssh服务22端口,另外开放了8000-9000端口备用

查看容器是否运行

CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS        PORTS                                                                                                  NAMES
0c9cf191daf2   ubuntuos-ssh   "/usr/sbin/sshd -D -…"   12 days ago    Up 12 days    0.0.0.0:8000-9000->8000-9000/tcp, :::8000-9000->8000-9000/tcp, 0.0.0.0:9022->22/tcp, :::9022->22/tcp   ubuntuos-ssh

登录容器ß

这里我们要使用ssh,而不是exec -it 进入

密码 ubuntu

ssh root@localhost -p 9022
root@localhost's password:
(base) root@xxxxxxx:~# 

到这里如果正常登录,则说明容器正常运行

5、通过网络登录

登录oracle cloud控制台

  • 检查容器使用的 22 8000-9000端口是否开通
  • 主机检查防火墙如iptables firwwall中,端口是否打开 远程登录
ssh root@IP -p 9022

可劲造吧

#Oracle Cloud# #Free VPS# #docker# #VM.Standard.A1.Flex#

声明:将docker容器作为虚拟机折腾

链接:http://www.luckfu.com/post/ampere_a1_docker/

作者:luckfu

声明: 本博客文章除特别声明外,均采用 CC BY-NC-SA 3.0许可协议,转载请注明出处!

创作实属不易,如有帮助,那就打赏博主些许茶钱吧 ^_^
WeChat Pay

微信打赏

Alipay

支付宝打赏

paypal Pay

PayPal打赏

使用python脚本抢注Oracle甲骨文 VM.Standard.A1.Flex
  • 文章目录
  • 站点概览
luckfu

luckfu

一瞬间,过去的一切都离你而去,剩下的只有回忆!

2 日志
4 分类
6 标签
GitHub
标签云
  • Free vps
  • Oracle cloud
  • Vm.Standard.A1.Flex
  • Docker
  • Python script
  • 自动化脚本
  • 1、安装docker
  • 2、Dockerfile
  • 3、生成镜像
  • 4、启动容器
  • 5、通过网络登录
© 2010 - 2021 luckfu的潦草笔记
Powered by - Hugo v0.90.0 / Theme by - NexT
鄂ICP备18026409号-1
0%