Docker中安装Centos7操作系统

简介: Docker中安装Centos7操作系统

Docker中安装Centos7操作系统


如果还没安装Docker请移步到:

Centos7.x安装Docker

我的服务器版本

[root@shendu ~]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-102.git7f2769b.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7f2769b/1.13.1
 Built:           Mon Aug  5 15:09:42 2019
 OS/Arch:         linux/amd64
Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-102.git7f2769b.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7f2769b/1.13.1
 Built:           Mon Aug  5 15:09:42 2019
 OS/Arch:         linux/amd64
 Experimental:    false
[root@shendu ~]# 
[root@shendu ~]# uname -a
Linux shendu 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@shendu ~]# 
[root@shendu ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@shendu ~]#

说明:

鉴于国内网络问题,拉取Docker镜像十分缓慢,在安装之前需要先设置成国内镜像,可以加速。

一、设置镜像加速器

我使用的是网易的镜像地址:http://hub-mirror.c.163.com

网易云镜像官方地址 https://c.163yun.com/hub#/library/repository/info?repoId=1055

  • 在centos7下配置:
[root@shendu ~]# 
[root@shendu ~]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
[root@shendu ~]#
  • 然后执行如下两个命令才会生效:
sudo systemctl daemon-reload 
sudo systemctl restart docker
  • 创建Dockerfile文件:(我直接在root用户目录下创建了)

  • 文件内容:
FROM hub.c.163.com/netease_comb/centos:7
MAINTAINER netease
# 更新yum源
RUN yum makecache fast && yum -y update glibc    
# 安装常用软件
RUN yum install -y openssh-server vim tar wget curl rsync bzip2 iptables tcpdump less telnet net-tools lsof
# 初始化ssh登陆
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
RUN ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
RUN echo "RSAAuthentication yes" >> /etc/ssh/sshd_config
RUN echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config    
RUN yum clean all
# 启动sshd服务并且暴露22端口
RUN mkdir /var/run/sshd    
EXPOSE 22    
CMD ["/usr/sbin/sshd", "-D"]

二、获取Centos7镜像

  • Dockerfile 的文件夹下运行:docker build -t centos7-my .
  • centos7-my 是生成的镜像名称
  • 如果成功了,执行docker images就会看到下面的结果

三、启动容器

  • 命令:docker run -itd --name os1 -p 10000:22 87bd98509c5e /bin/bash
  • --name os1 : 启动容器的容器名称
  • 87bd98509c5e : 镜像id
  • -p 10000:22 : 端口映射,将容器22端口映射到宿主机10000端口,供后续ssh远程登录

四、开启ssh链接

1、进入os1容器:

命令:docker exec -it os1 bash

[root@shendu ~]# 
[root@shendu ~]# docker exec -it os1 bash
[root@d6898c947c4b /]# 
[root@d6898c947c4b /]#

2、启动ssh:

  • 先执行
[root@d6898c947c4b /]# /usr/sbin/sshd -D
  • 会出现如下结果:

  • 然后执行(回车两次,如果 出现警告可以不用管)
[root@d6898c947c4b /]# /usr/sbin/sshd -D &
  • 会出现如下结果:


3、查看是否已经启动成功

使用命令:netstat -ntpl |grep 22 或者 lsof -i:22

[root@d6898c947c4b /]# 
[root@d6898c947c4b /]# netstat -ntpl |grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      44/sshd             
tcp6       0      0 :::22                   :::*                    LISTEN      44/sshd             
[root@d6898c947c4b /]# 
[root@d6898c947c4b /]#        
[root@d6898c947c4b /]# lsof -i:22
COMMAND PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
sshd     44 root    3u  IPv4 32153435      0t0  TCP *:ssh (LISTEN)
sshd     44 root    4u  IPv6 32153437      0t0  TCP *:ssh (LISTEN)
[root@d6898c947c4b /]# 
[root@d6898c947c4b /]# 
[root@d6898c947c4b /]#

如果出现以上结果,就算成功了。

五、修改root密码

[root@d6898c947c4b /]# 
[root@d6898c947c4b /]# passwd root
Changing password for user root.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@d6898c947c4b /]#

六、进行ssh远程登录测试

  • 1、我使用的是CRT连接的


  • 连接成功之后

目录
相关文章
|
4天前
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
141 84
|
5天前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
47 25
|
6天前
|
存储 分布式计算 Hadoop
Centos7.9安装kerberos
Centos7.9安装kerberos
55 25
|
5天前
|
安全 数据安全/隐私保护 Docker
docker私有仓库harbor安装
通过以上步骤,您可以成功在企业内部安装和配置Harbor私有仓库,方便地管理和分发Docker镜像。Harbor不仅提供了基础的镜像管理功能,还增强了安全性、身份管理和审计功能,使其成为企业级容器镜像管理的理想选择。
46 22
|
2天前
|
数据可视化 Linux 应用服务中间件
Centos7.9安装phpldapadmin
Centos7.9安装phpldapadmin
33 15
|
4天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
44 7
|
1天前
|
存储 Shell 网络安全
Centos7.9安装openldap
Centos7.9安装openldap
30 16
|
12天前
|
弹性计算 运维 数据可视化
OS Copilot安装与多项功能测评报告
OS Copilot安装与多项功能测评报告
72 15
|
5天前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
6天前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享