docker centos8 安装ssh连接xshell并部署项目
一,docker centos8 安装ssh
卸载openssh和openssh-server
dnf -y remove openssh
dnf -y remove openssh-server
安装openssh和openssh-server
dnf -y install openssh
dnf -y install openssh-server
生成秘钥对,保持默认配置即可。
ssh-keygen
设置ssh,打开登录功能,保持默认配置即可。
编辑/etc/ssh/sshd_config文件:(没有的话可以直接添加)
RSAAuthentication yes
PubkeyAuthentication yes
另外,允许root通过 SSH 登录看,如果禁止root远程登录,那就设置为 no :
PermitRootLogin yes
设置系统开机自启openssh-server,开启openssh-server:
systemctl enable sshd
systemctl start sshd
systemctl status sshd
二,为centos8的root用户添加密码(用户名默认为root)
查看可以登录系统的用户:
cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
修改root用户密码:
passwd
三,xshell连接docker容器里面的centos8
一定要记清楚最开始启动容器的时候的端口映射关系:
首先查看各方的ip如下:
本地windows ip: 192.168.1.10
docker ip:172.17.235.225
container ip:172.17.0.2
那么,你要远程container,则要访问以下地址:
ssh 172.17.235.225:5001
这样通过访问docker的5001端口,就神奇的间接连通到container的22端口了,从而达到ssh连接container的目的,至此。
特别需要注意:因为自己作为一个小白:开始找docker的ip的时候 一直以为是“以太网适配器 vEthernet (DockerNAT): ”这个地址,
结果搞了很久一直没有成功,结果改为 “以太网适配器 vEthernet (Default Switch):” 就成功了!!!
下面用xshell新建连接
连接成功如下图:
四,将项目从windows本地移到docker centos8 tomcat8 webapps目录下
最好在xshell里面用rz命令,直接在docker的centos8里面使用rz会出现乱码
查看项目里面的配置文件,配置数据库
先创建数据库myshop:
create database if not exists myshop;
在创建user表:
CREATE TABLE myshop.user (
user_id INT NOT NULL AUTO_INCREMENT,
user_name varchar(100) NULL,
user_pwd varchar(100) NULL,
CONSTRAINT user_pk PRIMARY KEY (user_id)
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8
COLLATE=utf8_general_ci;
启动tomcat:
访问tomcat,验证是否启动成功:
访问项目index页面,验证项目是否部署成功