27-案列1:构建CentOS+SSH镜像
1.创建dockerfile目录结构
[root@docker01 ~]# mkdir /data/dockerfile -p [root@docker01 ~]# cd /data/dockerfile/ [root@docker01 dockerfile]# mkdir system runtime app [root@docker01 dockerfile]# tree . ├── app ├── runtime └── system 3 directories, 0 files
2.创建centos镜像目录,并编写centos的Dockerfile文件
[root@docker01 dockerfile]# cd system/ [root@docker01 system]# mkdir centos [root@docker01 system]# cd centos/ [root@docker01 centos]# vim Dockerfile # Base Images FROM centos # Maintainer MAINTAINER xiao@qq.com # Run RUN rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm RUN yum install -y wget sudo git tree net-tools && yum clean all # 构建镜像 [root@docker01 centos]# docker build -t system/centos:v1 .
3.创建centos-ssh的镜像
[root@docker01 centos]# cd .. [root@docker01 system]# mkdir centos-ssh [root@docker01 system]# cd centos-ssh/ [root@docker01 centos-ssh]# cp ../centos/Dockerfile . [root@docker01 centos-ssh]# vim Dockerfile # Base Images FROM centos # Maintainer MAINTAINER xiao@qq.com # Run RUN rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm RUN yum install wget sudo git tree net-tools openssh-clients openssh-server openssl-devel -y && yum clean all RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key RUN ssh-keygen -A -t dsa -f /etc/ssh/ssh_host_dsa_key # Set root passwd RUN echo "root:123.com" | chpasswd
4.执行构建centos-ssh镜像
root@docker01 centos-ssh]# docker build -t system/centos:v2 . [root@docker01 centos-ssh]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE system/centos v2 c2e7da62bc5f 19 seconds ago 303MB system/centos v1 716f4a675d71 12 minutes ago 298MB nginx latest 3c5a05123222 8 days ago 109MB centos latest 49f7960eb7e4 5 weeks ago 200MB
5.启动centos-ssh镜像
[root@docker01 centos-ssh]# docker run -d --name centos-ssh -p 8022:22 system/centos:v2 /usr/sbin/sshd -D ff769b402f81cbb036524a9418840f89afabbdaf546db1ec6a6c3325fcc0fbfc [root@docker01 centos-ssh]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ff769b402f81 system/centos:v2 "/usr/sbin/sshd -D" About a minute ago Up About a minute 0.0.0.0:8022->22/tcp centos-ssh [root@docker01 centos-ssh]# docker port ff769b402f81 22/tcp -> 0.0.0.0:8022 [root@docker01 centos-ssh]#
6.通过ssh登录centos-ssh系统
[root@docker01 centos-ssh]# ssh -p 8022 root@192.168.1.23 The authenticity of host '[192.168.1.23]:8022 ([192.168.1.23]:8022)' can't be established. ECDSA key fingerprint is 43:fc:0e:f2:9b:8e:38:49:7c:20:b8:e4:d0:8e:0a:f8. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[192.168.1.23]:8022' (ECDSA) to the list of known hosts. root@192.168.1.23's password: [root@ff769b402f81 ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 112816 4272 ? Ss 06:56 0:00 /usr/sbin/sshd -D root 5 0.8 0.3 155236 6016 ? Ss 06:58 0:00 sshd: root@pts/0 root 7 0.0 0.1 15256 1996 pts/0 Ss 06:58 0:00 -bash root 20 0.0 0.0 55144 1844 pts/0 R+ 06:58 0:00 ps aux

浙公网安备 33010602011771号