当前位置: 代码迷 >> 综合 >> Docker-1:xshell 远程连接dokcer 镜像启动 linux:centos 7.5 容器
  详细解决方案

Docker-1:xshell 远程连接dokcer 镜像启动 linux:centos 7.5 容器

热度:10   发布时间:2023-12-08 11:34:12.0

1. 首先准备好centos镜像

 如果没有的话需要 docker pull centos:7.5

通过: docker images 能查看到镜像即可

2. 初始化运行容器

1. docker run

-i 交互模式: 打开容器界面

-t 作用是分配一个虚拟的终端,有了-t参数,在docker中启动bash就会有提示符。-it总是一起出现的

-d 后台运行

--privileged 给root权限,让容器内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限

?

2. 参考官方文档: docker run | Docker Documentation

--privileged Give extended privileges to this container
--interactive , -i Keep STDIN open even if not attached
--detach , -d Run container in background and print container ID
--tty , -t Allocate a pseudo-TTY

3. 打开正在运行的centos容器

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

2. 打开正在运行从的容器:docker exec -it  容器id /bin/bash

3. 官方参考文档:docker exec | Docker Documentation

--interactive , -i Keep STDIN open even if not attached
--tty , -t Allocate a pseudo-TTY

4. 修改root账户密码

passwd

密码: RamaYu1234

5. 下载openssh-server 远程连接工具

yum install openssh-server -y , -y 表示下载过程中默认选择 yes?

6. 下载vim 文档编译工具

试图编辑 /etc/ssh/sshd_config 但是发现没有安装vim

于是 yum install vim -y?

 7. 编辑 远程连接配置文件 /etc/ssh/sshd_config

1. 两个地方: PermitRootLogin yes, UsePAM no 注意大小写?

8. 重启sshd 并且退出

systemctl start sshd

exit?

9. 将配置好的容器生成新镜像

1. docker commit -a “作者” -m "提交信息"  容器ID  镜像名:TAG

2. 参数参考docker commit | Docker Documentation

--author , -a Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
--message , -m Commit message

3. 打包后 docker images 查看镜像

10. 启动新生成的镜像容器

docker run -d -p2222:22 centos7:rama /usr/sbin/sshd -D

-d 后台运行

-p 2222:22 宿主机访问接口:容器内部本来接口

注意* :  这里只映射了一个端口 :如果映射多个端口 可以参参照 多个-p -p

11. 用xshell 工具连接容器centos7

1.对外部开放的是2222端口对应容器里面的 22端口?

2. 使用宿主机IP + 容器对外暴露的 端口连接?

 3. 登录成功?