Docker(2) - Docker安装Centos7

参考博客: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


4.启动新容器

将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等工具连接



猜你喜欢

转载自blog.csdn.net/mytt_10566/article/details/80074061