柴门闻犬吠
风雪夜归人
前言
容器的管理
之前学习了一些进入容器的方法,比如attach、exec等命令,但这些命令无法远程管理容器,因此需要远程管理容器的时候,就需要容器支持SSH了。
操作
基于commit命令
-
使用ubuntu创建一个容器
docker run -it ubuntu:lastest /bin/bash
-
更新apt缓存,并安装启动openssh-server
apt update && apt install openssh-server -y mkdir -p /var/run/sshd /usr/sbin/sshd -D &
- 修改SSH安全登录配置,取消PAM登陆限制
- 在root目录下创建.ssh目录,并复制登陆需要的公钥信息
-
创建自启动的SSH服务
#! /bin/bash /usr/sbin/sshd -D
-
保存镜像
docker commit fc1 sshd:ubuntu
-
使用镜像
docker run -p 10022:22 -d sshd:ubuntu /run.sh
使用Dockerfile创建
-
创建工作目录和Dockerfile
mkdir sshd_ubuntu cd sshd_ubuntu touch Dockerfile run.sh
-
编写Dockerfile
FROM ubuntu:14.04 MAINTAINER docker_user (user@email.com) RUN apt update \ && apt install -y openssh-server \ && mkdir -p /var/run/sshd \ && mkdir -p /root/.ssh \ ADD run.sh /run.sh RUN chmod 755 /run.sh EXPOSE 22 CMD ["run.sh"]
-
创建镜像
docker build -t sshd:Dockerfile .