如何用手机创建网站,免费商标图案logo,国内最好用的免费建站平台,销售机械设备做网站目录 1 编译docker image1.1 编译镜像1.2 启动镜像 2 在docker container中启动ssh服务2.1 确认是否安装ssh server2.2 修改配置文件2.3 启动ssh服务 3 生成ssh key4 添加ssh公钥到docker container中5 vscode安装插件Remote - SSH6 在vscode中配置 1 编译docker image
一般来… 目录 1 编译docker image1.1 编译镜像1.2 启动镜像 2 在docker container中启动ssh服务2.1 确认是否安装ssh server2.2 修改配置文件2.3 启动ssh服务 3 生成ssh key4 添加ssh公钥到docker container中5 vscode安装插件Remote - SSH6 在vscode中配置 1 编译docker image
一般来说没有什么问题但是我自己编的centos7无法启动ssh服务。会报类似这种错误。
Failed to get D-Bus connection: Operation not permitted好多人说是启动docker run的时候忘记加 --privileged我是了没有用。之后在网上找了很久发现在dockerfile中这么写可以解决问题主要参考这里
FROM centos
MAINTAINER Yourname youremailaddress.com
ENV container docker
RUN yum -y update; yum clean all
RUN yum -y install systemd; yum clean all; \
(cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ /sys/fs/cgroup ]
CMD [/usr/sbin/init]结合之后我自己的dockerfile是这样的
ARG SYSTEM_IMAGEcentos:7
FROM ${SYSTEM_IMAGE}ENV container docker
ENV TZAsia/Shanghai
ENV WORK_DIR/home/workRUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum -y update; yum clean all
RUN yum -y install systemd; yum clean all; \
(cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;RUN yum -y install kde-l10n-Chinese \ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 \ echo export LC_ALLzh_CN.UTF-8 /etc/bashrc \ yum clean allRUN yum install -y mysql-devel git
WORKDIR ${WORK_DIR}
VOLUME [ /sys/fs/cgroup ]
CMD [ /usr/sbin/init ]1.1 编译镜像
docker build --build-arg SYSTEM_IMAGEcentos:7 -f Dockerfile . -t image_name1.2 启动镜像
docker run --privileged -itd --name qzw_og-manual-intervention-2 -p 2226:22 image_name /sbin/init注意这里有端口映射过会需要用到2226这个端口
2 在docker container中启动ssh服务
主要参考这里后面可能要牵扯到安装相关包可以切换阿里源
2.1 确认是否安装ssh server
yum list installed | grep openssh-server如果没有找到则安装
yum install openssh-server2.2 修改配置文件
vim /etc/ssh/sshd_config2.3 启动ssh服务
service sshd start如果找不到service命令则
yum reinstall initscripts
或者
yum install initscripts确认一下服务是否启动
ps -e | grep sshd3 生成ssh key
在本地机器上执行
ssh-keygen -t rsa -b 2048 -C emailexample.com
cat ~/.ssh/id_rsa.pub
# windows上是这样的
PS C:\Users\username cat .\.ssh\id_rsa.pub4 添加ssh公钥到docker container中
vim ~/.ssh/authorized_keys将公钥拷贝到这里然后保存。重启ssh服务
service sshd restart5 vscode安装插件Remote - SSH 6 在vscode中配置 Host remote-dockerHostName 10.19.35.220User rootPort 2226IdentityFile C:\Users\uersname\.ssh\id_rsa
重新连接远程docker 不出意外你就会看到remote-docker点击就可以了。
撒花