通过dockerfile和postgresql12的安装包制作单机版的docker镜像,并容器内启动ssh服务
时间: 2024-05-06 20:20:43 浏览: 10
以下是制作单机版Docker镜像的步骤:
1. 创建一个新的文件夹,用于存放Dockerfile和PostgreSQL安装包。
2. 下载PostgreSQL 12的安装包到该文件夹中。
3. 创建一个名为Dockerfile的文件,并将以下代码复制到文件中:
```
# 使用官方的 postgresql:12 镜像作为基础镜像
FROM postgres:12
# 安装ssh服务
RUN apt-get update && apt-get install -y openssh-server
# 修改ssh配置文件
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN echo 'root:123456' | chpasswd
# 启动ssh服务
CMD ["/usr/sbin/sshd", "-D"]
```
4. 在终端中进入到该文件夹中,然后运行以下命令来构建镜像:
```
docker build -t postgresql-ssh .
```
其中,postgresql-ssh是你为镜像命名的名称,最后的句点表示Dockerfile所在的当前目录。
5. 构建完成后,运行以下命令来启动容器:
```
docker run -d -p 5432:5432 -p 2222:22 postgresql-ssh
```
其中,-d选项表示在后台运行容器,-p选项将容器内的5432端口映射到主机的5432端口,方便外部访问PostgreSQL数据库。同时,将容器内的22端口映射到主机的2222端口,以便外部通过SSH连接到容器。
6. 运行以下命令来查看容器是否正在运行:
```
docker ps
```
如果容器正在运行,将会显示容器的详细信息。
现在,你可以使用任何SSH客户端连接到容器,例如:
```
ssh root@localhost -p 2222
```
输入密码123456即可成功连接到容器内的SSH服务。