-
Dockerfile常用命令
(1) FROM: 制作image时依据的基本image (2) RUN:制作image时执行的命令,一般在Dockerfile中多次出现 (3) CMD:启动docker时执行的命令,在Dockerfile中只出现一次 (4) ENV:设置环境变量 (5) COPY:制作image时,将文件系统中的文件复制到Docker镜像中 (6) WORKDIR:设置工作目录 (7) EXPOSE:设置向外暴露的端口 (8) VOLUME:设置容器与外界映射的目录
-
mkdir -p /Docker-Ser/Dockerfile/centos-ssh #此目录可自定义,注意此目录下最好不要存放其他文件
-
编写带有ssh远程登录功能的dockerfile文件
-
#cd /Docker-Ser/Dockerfile/centos-ssh #vi Dockerfile #生成的新镜像以centos镜像为基础 FROM centos #指定作者信息 MAINTAINER BestYunYan # 安装openssh-server RUN yum -y install openssh-server RUN mkdir /var/run/sshd RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key #指定root密码 RUN /bin/echo 'root:123456'|chpasswd RUN /bin/sed -i 's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g' /etc/pam.d/sshd RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local EXPOSE 22 CMD /usr/sbin/sshd -D
-
镜像构建并查看
-
[root@iZm5e3hwzuo58e05kxjiifZ Dockerfile]# docker build -t 5588/centos-ssh:v1.0.0 . #进行构建 Sending build context to Docker daemon 2.56kB Step 1/11 : FROM centos ---> 5182e96772b........ [root@iZm5e3hwzuo58e05kxjiifZ Dockerfile]# docker images #查看构建的镜像 REPOSITORY TAG IMAGE ID CREATED SIZE 5588/centos-ssh v1.0.0 f904f5528af4 28 minutes ago 301MB
-
启动容器
-
[root@iZm5e3hwzuo58e05kxjiifZ Dockerfile]# docker run -itd -p 10022:22 --name test_centos_1 5588/centos-ssh:v1.0.0 #启动容器 5857cf2ec05231ff46345bcb9218f1975438657cdc3f08ef39ca7ecb9b778b35 [root@iZm5e3hwzuo58e05kxjiifZ Dockerfile]# docker ps #查看已经启动的容器 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5857cf2ec052 5588/centos-ssh:v1.0.0 "/bin/sh -c '/usr/sb…" 14 seconds ago Up 13 seconds 0.0.0.0:10022->22/tcp test_centos_1
-
测试远程登录
-
[root@iZm5e3hwzuo58e05kxjiifZ Dockerfile]# ssh -p10022 127.0.0.1 #远程测试 root@127.0.0.1's password: [root@5857cf2ec052 ~]#
转载于:https://my.oschina.net/wangyunlong/blog/2221344