目录
1、环境介绍
基础镜像 | 镜像内server | 主机与容器映射端口 |
lambdaexpression/centos7.6.1810 | sshd | 8002:22 |
默认基础镜像centos7里面没有sshd服务,我们可以自己制作镜像将sshd服务放进去,同时还需要启动sshd的服务
2、编写dockerfile文件
mkdir /centos 【存放dockerfile文件的目录】
vi dockerfile
FROM lambdaexpression/centos7.6.1810:latest 【基础镜像】
RUN yum -y install openssh-server 【安装sshd服务】
RUN echo "123456" |passwd --stdin root 【设置密码】
CMD ["/usr/sbin/init"] 【容器启动时执行的命令】
【Linux7得用/usr/sbin/init才行,用/usr/sbin/sshd -D容器起不来】
3、使用build构建镜像
docker build -t centos7 .
① build:构建镜像的指令
② -t:设置构建镜像的名字
③ centos6.9:要构建镜像的名字
④ .:在当前路径下
4、查看刚刚构建的镜像
[root@localhost centos]# docker images
5、测试
用新镜像来创建容器并启动,端口为8001
docker run -d -p 1002:22 --name 222 --privileged=true 81ea50027eda
--privileged=true 表示容器拥有root权限,可以使用systemctl命令启动服务,官方文档没有加这个参数
查看容器是否启动
docker ps
登录容器并启动ssh服务
docker exec -it 1ebb11149e5d /bin/bash
systemctl restart sshd
systemctl status sshd
退出容器ssh连接测试
ssh 172.16.201.181 -p 1002