Docker案例:三条命令送你一台Linux(Centos 8)服务器做练习

你可能想有一台Linux服务器平时练练命令或者其他用途。今天制作了一个Docker镜像,基于目前最新的Centos 8,已经提交到Docker Hub,如下图,可直接拉取使用。镜像内部已经集成了sshd服务,可直接使用ssh登录。
在这里插入图片描述
以下步骤均在Mac系统下完成,如果本机尚未安装Docker可参考之前的文章:<<Mac系统docker安装配置及基本使用>>

1 Centos服务器容器制作及使用

仅需下面前三步,即可得到一个Centos 8 服务器容器。

1.1 获取镜像

终端执行命令如下,拉取镜像到本地。

docker pull crasa/centos8-ssh

1.2 创建容器

根据crasa/centos8-ssh镜像创建容器,容器名称为centos,绑定本机端口18022到容器内部的22端口(ssh服务端口),完整命令如下:

docker run -itd --privileged -p 18022:22  --name centos crasa/centos8-ssh /usr/sbin/init

1.3 ssh登录

通过上面两步,容器已经创建好,然后可使用ssh通过本机的18022登录,docker容器内部root用户默认密码为crane

ssh -p 18022 root@localhost

1.4 查看服务器版本

通过上面一步已经进入到了容器内部,可在容器内部通过下面命令查看系统版本。

cat /etc/redhat-release

以上各步骤执行结果如下:
在这里插入图片描述

1.5 后续操作

通过上面步骤,一个Centos 8 的Docker容器制作完成,内网可使用ssh登录(内网登录请使用本机内网ip)或者本机使用docker exec登录。如果练习过程中哪里出了乱子,可以删除容器(docker rm -f centos),然后重新执行上面几个步骤,一个全新的Centos 8 服务器就又出来了,使用docker的好处就是不管出了什么错,都可以恢复到最初的状态。

2 镜像制作过程

制作上面容器用到的镜像,制作过程的完整命令如下,可在终端窗口按顺序执行,制作一个和crasa/centos8-ssh完全一致的镜像。

# 拉取centos:8镜像,以此为基础
docker pull centos:8

# 创建容器 名为 centos8.ssh
docker run -itd --privileged  --name centos8.ssh centos:8 /usr/sbin/init

# 进入创建的容器
docker exec -it centos8.ssh bash

# 更新软件包,安装ssh服务支持相关包并启动ssh的服务
yum upgrade -y && yum install passwd openssl openssh-server openssh-clients initscripts -y && yum clean all && systemctl start sshd.service && systemctl enable sshd.service

# 修改当前用户 root 的密码
passwd

# 退出当前容器
exit

# 停止容器
docker stop centos8.ssh

# 根据刚才容器创建本地镜像,并将改动提交到本地(c5058a6365d7为容器id,具体根据实际情况而定),镜像名称为 crasa/centos8-ssh
docker commit -m "centos 8 with sshd service, root password is crane" -a "Crane Liu" c5058a6365d7 crasa/centos8-ssh

# 推送本地镜像到已登录账户的 Docker Hub
docker push crasa/centos8-ssh

以上镜像制作过程截图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值