1. 从docker 安装 Centos7
查看有哪些 centos7 系统:
docker search centos7
2. 安装 centos7
docker pull docker.io/ansible/centos7-ansible
3.使用镜像创建容器
docker run -itd -p 8022:22 --name=vm01 -v /bodata:/bodata -h vm01 --privileged=true 688353a31fde
说明:
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-d:后台运行容器,并返回容器ID;
-p:指定端口映射,格式为:主机(宿主)端口:容器端口
--name:为容器指定一个名称;
-h:为容器指定hostname
-v:将宿主机的目录挂载在容器中,格式为:主机(宿主)目录:容器目录,且不存在时会自行创建
4. 此时使用ssh工具连ip:8022是不通的,要进入容器安装一些基础工具(sshd等网络工具)后才可以用ssh连接。
docker exec -it 8303f279aae1 /bin/bash
如:
[root@bogon opt]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8303f279aae1 688353a31fde "/bin/bash" About a minute ago Up About a minute 0.0.0.0:8022->22/tcp, :::8022->22/tcp vm01
5. 安装组件
[root@free-share bodata]# docker exec -it 7ec547fc37e5 /bin/bash
[root@vm01 ~]# yum install -y openssh-server
[root@vm01 ~]# yum install -y net-tools
[root@vm01 ~]# ssh-keygen -A ##为ssh生成必要的秘钥等
[root@vm01 ~]# /usr/sbin/sshd ##启动ssh后台服务
[root@vm01 ~]# echo 123456|passwd --stdin root ##修改容器root用户密码为123456,也可以用passwd root来修改
切记 重启系统 或者 重启容器之后要 从新启ssh 后台服务
/usr/sbin/sshd
5.1 自启动ssh
6. 用xshell 进行连接
宿主机ip : 8022