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连接的


  • 连接成功之后

目录
相关文章
|
3天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
21天前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
184 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
9天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
41 2
|
10天前
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
13 3
|
11天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
33 2
|
12天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
24 3
|
14天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
139 2
|
22天前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
37 1
|
22天前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
150 1
|
22天前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站