mac下ssh连接docker使用centos

news2024/7/6 17:52:48

配置ssh连接docker

本机信息 Apple M2/ macOS Ventura 13.1

完整实现如下

  1. 使用docker下载centos镜像

docker pull centos:centos7  
# centos7 指定安装版本
  1. 查看本地镜像

# 使用以下命令查看是否已安装了centos7

➜  ~ docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
centos       centos7   c9a1fdca3387   11 months ago   301MB
  1. docker 启动centos镜像

docker run --privileged -d  --name=centos_server c9a1fdca3387 /usr/sbin/init

# --name=容器名字(自己随便起一个即可,别名)
# c9a1fdca3387 为 image id,通过docker images来查看 
# –privileged 和 /usr/sbin/init 很重要,必须要带上,否则后面启动ssh服务时会报错
# Failed to get D-Bus connection: Operation not permitted
  1. 进入容器,修改root密码

(如果此步骤不执行,直接使用普通用户来ssh,我尝试了行不通)

# 1. 查看正在运行的容器
docker ps  

# 2. 进入容器中(centos_server为容器名字)
docker exec -it centos_server /bin/bash

# 以下命令均在容器中执行
# 3. 清除root账号的密码
passwd -d root

# 4. 修改root密码
passwd root 

以下均为在容器中的操作

  1. 修改ssh配置,允许root登录

  • 查看是否安装了ssh-server服务

yum list installed | grep openssh-server
  • 安装ssh-server

yum install openssh-server

# 安装ssh-client(按自己需要、可以不安装)
yum install openssh-clients
  • 修改配置

vim /etc/ssh/sshd_config
# 如下图所示 修改三处

# 如果没有安装vim,执行
yum install vim
  1. 开启ssh服务

# 1. 检查ssh服务是否已开启
ps -e | grep sshd  
# 或者检查22端口是否开启  
netstat -an | grep 22

# 2. 如果没安装service,先安装
yum install initscripts -y

# 3. 运行ssh 
service sshd start 
# 或 systemctl start sshd.service

# 4. 查看是否开启了ssh服务
ps -e | grep sshd
  1. 退出容器

exit
  1. 提交这个容器为一个新的image

docker commit 容器id 镜像名称
  1. 使用新的镜像启动一个制定了ip映射的新容器

# 把容器的22端口映射到50001
docker run --name 容器名称 -it -p 15001:22 镜像id /usr/sbin/sshd -D
  1. 在本地主机ssh登录docker

ssh root@localhost -p 50001

# 这里注意:只能root用户ssh,连上之后可以切换其他普通用户
  1. vscode ssh 登录docker

vscode安装docker插件方便使用,可以直接运行/退出/删除...容器

同连接远程服务器一样,只不过用root用户连接之后再切换成普通用户使用(保证安全,不使用root用户)

遇到的问题

  • 使用yum安装软件,出现Loaded plugins:fastestmirror,ovl

目前感觉是不用去解决这个问题,搜一下看自己要安装的软件,多半是因为安装包名字不对

安装ifconfig命令的语句是:yum install net-tools

可参考:https://blog.csdn.net/hechenhongbo/article/details/85289648

  • 如果启动ssh服务的时候报错

Failed to get D-Bus connection: No such file or directory

cat ~/Library/Group\ Containers/group.com.docker/settings.json|grep deprecatedCgroupv1
  "deprecatedCgroupv1": false,

# 将deprecatedCgroupv1由false --> true
vi ~/Library/Group\ Containers/group.com.docker/settings.json
cat ~/Library/Group\ Containers/group.com.docker/settings.json|grep deprecatedCgroupv1
  "deprecatedCgroupv1": true,

重启docker,再执行上面ssh配置步骤重新设置privileged

docker简单用法

  • 查看可用的centos版本

访问 CentOS 镜像库地址:https://hub.docker.com/_/centos?tab=tags&page=1

  • 以上步骤中1~4为docker安装centos

  • 运行一个容器

(可以简单理解为创建一个虚拟机,创建好之后可以一直用;centos7是镜像,如果把系统搞坏了可以删除容器重新建;每个容器维护自己的centos配置)

docker run -itd --name centos-test centos:centos7
  • 进入容器

docker exec -it centos-test /bin/bash

# 进入之后,就可以开始使用centos系统了 
  • 查看容器运行信息

docker ps

centos新系统软件安装

  1. 默认只有root用户,添加普通用户

adduser aa
passwd xxx
  1. root下安装sudo

[root@e9267ae0ad14 /]# yum install sudo

[root@e9267ae0ad14 /]# visudo
root ALL=(ALL) ALL 
aa   ALL=(ALL) ALL   #将新创建的用户加入进来,aa可以使用sudo
  1. 此后切换到新建的用户进行使用

su 用户名   # 从root用户切换到普通用户
ctrl + D   # 从普通用户切换到root用户
  1. 安装ifconfig

[aa@48c8778377f8 /]$ yum install net-tools

查看该容器对应的ip

[aa@48c8778377f8 /]$ ifconfig

参考:

https://blog.csdn.net/cai454692590/article/details/85911333 (1~5步)

中间修改docker的配置并重启(我自己电脑)

https://juejin.cn/post/6881881918087331853 (5~8步)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/166007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++通讯录管理系统

结构体1,知识点(结构体),存放人员详情,名字,性别,年龄等 struct person { string m_name; int m_sex; int m_age; string m_phone; string m_addr; };结构体2,知识点 (结…

狗厂的N+1+2毕业,我觉得还是挺良心的

最近又跟朋友打听到了新鲜事,年底的新鲜事,什么209万,就是听个乐子,离我太远,什么HR和技术人员产生矛盾,一巴掌眼镜都打飞了,好乱套,今天我跟朋友打听了一些不太乱套的 一、鹅肠 1.…

Quartz认知篇 - 初识分布式任务调度Quartz

定时任务的使用场景 在遇到如下几种场景可以考虑使用定时任务来解决: 某个时刻或者时间间隔执行任务 批量数据进行处理 对两个动作进行解耦 Quartz 介绍 Quartz 是一个特性丰富的、开源的任务调度库,几乎可以嵌入所有的 Java 程序,包括很…

基于二叉树的改进SPIHT算法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

电脑怎么设置动态壁纸?关于Windows和Mac壁纸的设置方法

为了让电脑桌面更加美观舒适,很多人都会给电脑的桌面设置自己喜欢的壁纸。图片壁纸很多人都会设置,但是电脑怎么设置动态壁纸?这是很多人的困扰。其实方法同样很简单,下面有关于Windows和Mac动态壁纸的设置方法,一起来…

【阶段四】Python深度学习03篇:深度学习基础知识:神经网络可调超参数:激活函数、损失函数与评估指标

本篇的思维导图: 神经网络可调超参数:激活函数 神经网络中的激活函数(有时也叫激励函数)。 在逻辑回归中,输入的特征通过加权、求和后,还将通过一个Sigmoid逻辑函数将线性回归值压缩至[0,1]区间,以体现分类概率值。这个逻辑函数在神经网络中被称为…

PyCharm调用远程Python解释器

PyCharm调用远程Python解释器 PyCharm中直接调用远程服务器中Python解释器: 本地不用搭建Python环境。既避免了本地使用Window而服务器使用Linux系统不统一情况,又不用担心本地调试没问题而放到服务器上就出现问题。 PyCharm中打开项目并设置Python解释…

封装chrome镜像

chrome镜像 selenium提供了一个镜像,但这个镜像里面包含了比较多的东西: 镜像地址-github supervisord java chrome webDriver 实际的使用中遇到了一些问题 chrome遇到一些比较耗费内存和cup的操作的时候,有的时候会kill掉java进程&a…

干货 | 大数据交易所数据安全流通体系标准化尝试

以下内容整理自清华大学《数智安全与标准化》课程大作业期末报告同学的汇报内容。第一部分:国内大数据交易所发展现状第二部分:国外大数据交易模式及法律法规欧盟的数据交易模式是基于2022年5月16日所提出的《数据治理法案》,其中提出了数据中…

【C++11】—— 包装器

目录 一、function包装器 1. function包装器基本介绍 2. function包装器统一类型 3. function包装器的使用场景 二、bind包装器 一、function包装器 1. function包装器基本介绍 function包装器 也叫作适配器。C中的function本质是一个类模板,也是一个包装器…

第四章 基本数据

在第2章中,我们讨论了多种导入数据到R中的方法。遗憾的是,将你的数据表示为矩阵或数据框这样的矩形形式仅仅是数据准备的第一步。这里可以演绎Kirk船长在《星际迷航》“末日决战的滋味”一集中的台词(这完全验明了我的极客基因)&a…

聚观早报|春节档新片预售总票房破千万;苹果获可折叠iPhone新专利

今日要闻:比亚迪据称拟在越南建汽车零部件厂;2023 年春节档新片预售总票房破 7000 万;苹果获得可折叠 iPhone 新专利;北京汽车获1000台EU5 PLUS约旦订单;娃哈哈要解决100万农户农产品出路 比亚迪据称拟在越南建汽车零部…

C 语言目标文件

前言 一个 C 语言程序经编译器和汇编器生成可重定位目标文件,再经链接器生成可执行目标文件。那么目标文件中存放的是什么?我们的源代码在经编译以后又是怎么存储的? 文章为 《深入理解计算机系统》的读书笔记,更为详细的内容可…

【数据结构】双向链表

1.双向链表的结构2.双向链表的实现首先在VS里面的源文件建立test.c和List.c,在头文件里面建立List.hList.h:#pragma once #include <stdio.h> #include <stdlib.h> #include <assert.h> typedef int LTDateType; typedef struct ListNode {LTDateType data;s…

LeetCode 329. 矩阵中的最长递增路径(C++)*

思路&#xff1a; 1.用动态规划&#xff0c;但是时间复杂度太高&#xff0c;效率太低 2.使用常规的DFS&#xff0c;时间复杂度高&#xff0c;包含了太多重复无效遍历&#xff0c;会超时 3.在DFS的基础上使用记忆化搜索&#xff0c;帮助消去重复的遍历&#xff0c;提高效率 原题…

解决: 您目前无法访问 因为此网站使用了 HSTS。网络错误和攻击通常是暂时的,因此,此网页稍后可能会恢复正常

目录 问题描述 报错信息 问题原因 如何解决 参考资料 问题描述 您目前无法访问 因为此网站使用了 HSTS。网络错误和攻击通常是暂时的&#xff0c;因此&#xff0c;此网页稍后可能会恢复正常。 报错信息 今天使用Edge浏览器在访问一个平时常用的emoji网站时&#xff0c;…

springboot整合spring-security

在web开发中&#xff0c;安全性问题比较重要&#xff0c;一般会使用过滤器或者拦截器的方式对权限等进行验证过滤。此博客根据b站up主&#xff0c;使用demo示例进行展示spring-security的一些功能作用。 目 录 1、创建项目 2、编写controller 3、添加spring-security依赖 …

Spring Cloud OpenFeign 配置

最少的配置&#xff08;使用默认配置&#xff09; 最少/默认配置示例如下&#xff08;使用Nacos作为服务的注册与发现中心&#xff09;&#xff1a; application.properties server.port8082 spring.application.namenacos-consumer spring.cloud.nacos.discovery.server-ad…

[拆轮子] PaddleDetection中__shared__、__inject__ 和 from_config 三者分别做了什么

在上一篇中&#xff0c;PaddleDetection Register装饰器到底做了什么 https://blog.csdn.net/HaoZiHuang/article/details/128668393 已经介绍了 __shared__ 和 __inject__ 的作用: __inject__ 表示引入全局字典中已经封装好的模块。如loss等。__shared__为了实现一些参数的配…

excel函数技巧:函数TEXT七助数据大变身

如果函数有职业&#xff0c;那各函数的职业会是什么呢&#xff1f;别的先不说&#xff0c;就拿TEXT而言&#xff0c;它可以让日期变数字、数字变日期、阿拉伯数字变大写中文数字、金额元变万元&#xff0c;连IF的条件判断它也可以变出来…这简直就是当之无愧的变装女皇啊&#…