docker容器设置ssh远程链接实战

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: docker容器设置ssh远程链接实战

@[toc]

前言

大家好,我是沐风晓月

做实验过程中,docker容器都在本地运行,不太方便,于是想着可以使用xshell远程连接,说干就干,一起折腾起来。

做这个实验需要你提前做好以下几个内容:

  1. centos7系统安装最新版本的docker实战
  2. 完成docker安装centos7操作系统实战
  3. docker容器设置镜像加速实战

一: 实验步骤

1.1 启动centos并设置好端口映射

1.1.1

 [root@mufenggrow ~]# docker pull centos:centos7.9.2009   # 拉取镜像
centos7.9.2009: Pulling from library/centos
2d473b07cdd5: Pull complete 
Digest: sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e0987
Status: Downloaded newer image for centos:centos7.9.2009
docker.io/library/centos:centos7.9.2009

1.1.2 登录容器设置端口映射

[root@mufenggrow ~]# docker run -itd --name=centos --privileged=true -p 5000:22 
centos:centos7.9.2009 /usr/sbin/init

 注意: 这里的5000是容器端口
 -- privileged=true 表示使用特权模式,使用这个参数的时候,容器内的root有用真正的root权限
 
 执行后,会有重新登录的过程

此处
--name 定义容器名字
-p 端口映射
-it 选项是交互形式运行
-d 在后台运行

1.1.3 登录容器

[root@laoxin1 ~]# docker ps
CONTAINER ID   IMAGE                   COMMAND            CREATED         
STATUS         PORTS                                   NAMES
8d423971d0d3   centos:centos7.9.2009   "/usr/sbin/init"   2 minutes ago 
  Up 2 minutes   0.0.0.0:5000->22/tcp, :::5000->22/tcp   centos
[root@mufenggrow ~]# docker exec -ti centos /bin/bash
[root@8d423971d0d3 /]# 

1.2 安装常用的工具

1.2.1 安装ssh服务及其他可用工具包

[root@c56102d9bb8c /]# yum install -y openssh-server vim lrzsz wget gcc-c++ pcre pcre-devel zlib zlib-devel ruby openssl openssl-devel patch bash-completion zlib.i686 libstdc++.i686 lsof unzip zip


[root@5225250654ba ~]# rpm -qa |grep -E "openssh"  ## 查看是否安装openssh
[root@5225250654ba ~]# yum install openssh*

1.2.2 安装网络工具

[root@3fc46c6f7d48 /]# yum search ifconfig
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
===================================================== Matched: ifconfig ======================================================
net-tools.x86_64 : Basic networking tools
[root@3fc46c6f7d48 /]# 

[root@5225250654ba ~]# yum install net-tools

1.3 启动sshd服务

[root@5225250654ba ~]# service sshd restart   
Stopping sshd: Stopping sshd:                              [  OK  ]
Generating SSH2 RSA host key:                              [  OK  ]
Generating SSH2 ECDSA host key:                            [  OK  ]
Generating SSH2 ED25519 host key:                          [  OK  ]
Starting sshd:                                             [  OK  ]
[root@5225250654ba ~]# 


[root@8d423971d0d3 /]# netstat -antup | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      302/sshd            
tcp6       0      0 :::22                   :::*                    LISTEN      302/sshd            
[root@8d423971d0d3 /]# 

1.4 设置远程链接

1.4.1 设置root账号和密码

root@5225250654ba ~]# whoami
root
[root@5225250654ba ~]# echo 12345678|passwd --stdin root
Changing password for user root.
passwd: all authentication tokens updated successfully.
[root@5225250654ba ~]# echo $?

1.4.2 设置远程链接

使用xshell设置远程链接
在这里插入图片描述

点击登录:
在这里插入图片描述

二. 总结

使用xshell远程登录,登录成功后即可使用docker来做实验了,方便快捷,高效,赶紧行动起来

相关文章
|
7天前
|
NoSQL 关系型数据库 Redis
Docker的通俗理解和通过宿主机端口访问Redis容器的实例
本文目标:引导初学者入门Docker,理解镜像、容器和宿主机概念,学习常用Docker命令,特别是如何创建并从Redis容器通过宿主机端口访问。 关键点: - Docker核心:镜像(类)、容器(实例)、宿主机(运行环境)。 - `docker pull` 拉取镜像,如 `redis:3.0`。 - `docker run -d --name` 后台运行容器,如 `my-redis`。 - `-p` 参数做端口映射,如 `6379:6379`。 - `docker exec -it` 交互式进入容器,如 `bash` 或执行命令。
|
4天前
|
前端开发 安全 数据库
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
|
2天前
|
Shell Linux 网络安全
Linux怎样在使用ssh 链接时就指定gcc 的版本
Linux怎样在使用ssh 链接时就指定gcc 的版本
16 7
|
1天前
|
NoSQL Redis Docker
使用 Docker Compose 接管现有容器的文档
使用 Docker Compose 接管现有容器的文档
12 2
|
4天前
|
Cloud Native 安全 Docker
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
|
1天前
|
存储 关系型数据库 MySQL
解读 MySQL 容器信息:`docker inspect` 字段详解
解读 MySQL 容器信息:`docker inspect` 字段详解
17 1
|
4天前
|
Linux Docker 容器
蓝易云 - net.ipv4.ip_forward=0导致docker容器无法与外部通信
完成以上步骤后,Docker容器应该能够正常与外部通信了。
9 2
|
4天前
|
Docker 容器
蓝易云 - Docker中容器的随机命名方式
例如,一个自动生成的容器名称可能是"happy_einstein"。这种随机命名方式既保证了容器名称的唯一性,又增加了一些趣味性。
10 2
|
7天前
|
监控 Java 数据安全/隐私保护
性能监控之 JMX 监控 Docker 容器中的 Java 应用
【6月更文挑战9天】性能监控之 JMX 监控 Docker 容器中的 Java 应用
26 1
|
11天前
|
运维 Ubuntu Docker
深入理解容器化技术:Docker的应用与实践
在这个数字化转型迅速推进的时代,容器化技术为软件开发和部署提供了新的路径。本文将深入探讨Docker技术的基本原理、应用场景以及实际操作,旨在帮助读者全面理解并掌握这一关键技术。
70 2