参考博客:https://blog.csdn.net/mergerly/article/details/54587079,文章内容比较全面,照着上面又做了一遍,记录一下踩的坑。
一.centos镜像
1.查找镜像
# docker search centos
2.下载镜像,等待下载完成。注:从官方拉取比较慢,可以配置使用阿里云镜像仓库。
# docker pull centos:7
3.查看本地镜像
# docker images
二.启动
1.启动容器
(1).可以使用仓库:标签或IMAGE ID方式启动,通过docker images命令查看。
(2).不能缺少/bin/bash参数,否则会生成一个容器但是立即就停止了,不会一直运行,即使有-d
(3).通过--name指定容器名称,这样后面操作可以使用该名称,不需要使用复杂的CONTAINER ID
# docker run --name centos_base -dit docker.io/centos:7 /bin/bash
2.查看容器
查看运行的容器
# docker ps
查看所有的容器
# docker ps -a
3.进入Centos
使用自定义的容器名或容器id
# docker attach centos_base
三.安装ifconfig、ssh
1.安装ifconfig(1).搜索
# yum search ifconfig
(2).安装
# yum install -y net-tools.x86_64
2.安装ssh
(1).安装open-server,使用ssh-keygen命令手动生成
# yum install -y openssh-server
# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
(2).修改/etc/ssh/sshd_confg文件
使用账号密码登录,修改以下几个属性,
- PubkeyAuthentication yes
- PermitRootLogin yes
# sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config
# sed -i "s/#PubkeyAuthentication.*/PubkeyAuthentication yes/g" /etc/ssh/sshd_config
(3).启动sshd
# /usr/sbin/sshd -D
四、制作镜像及启动
1.退出容器,但不停止
CTRL+P+Q
2.回到宿主机命令行下面,停止容器(容器名、容器ID)
# docker stop centos_base
3.以当前容器制作镜像
命令格式
# docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
制作镜像
# docker commit centos_base com.njql/centos-ssh:7
将22端口(SSH)和宿主机50001映射,
# docker run --name centos_ssh -dit -p 50001:22 com.njql/centos-ssh:7 /bin/bash
查看运行的容器:
5.进入centos
# docker attach centos_ssh
6.修改root账号密码
# passwd
密码输入两次
7.检查sshd服务是否已经开启
# ps -e | grep sshd
或者检查22号端口是否开启监听
# netstat -an | grep 22
五.连接
使用putty、XShell等工具连接