CentOS安装docker环境,docker环境安装CentOS容器,CentOS容器开启ssh连接,一步到位
文末含有本文所有命令汇总,以及其他未列出来的常用docker命令
一:安装docker
1.查看是否支持
使用以下命令查看CentOS内核版本uname -a
在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上
2.查看是否已安装
使用以下命令查看是否已安装docker列表yum list installed | grep docker
未安装进行docker安装,已安装直接进行第二步
3.安装docker
使用以下命令安装yum -y install docker
-y表示不询问知道安装成功,安装完后再次查看安装列表,有则安装成功
4.启动docker
使用以下命令启动systemctl start docker
使用以下命令设置开机自启动systemctl enable docker
5.验证docker安装是否成功docker version
有client和service两部分表示docker安装启动都成功了
二:docker安装CentOS7
1.配置docker下载源
编辑或者新增文件/etc/docker/daemon.json
,内容如下,其中地址可以用其他的,网上直接搜索
{
"registry-mirrors": ["https://kfwkfulq.mirror.aliyuncs.com"]
}
修改完成后执行重新加载以及重启docker
systemctl daemon-reload
// 重新加载
systemctl restart docker
// 重启
2.下载CentOS7的docker镜像
docker pull centos:7
当然也可以安装其他版本的CentOS,只需修改:后面的版本号,或者也可以不填,默认下载最新的
下载完成后使用命令查看是否已存在CentOS7镜像docker images
3.创建CentOS7的docker容器
docker run -i -t -d --name centos7 -p 8022:22 centos:7
其中**--name后面的centos7表示容器的名字,-p**后面表示映射宿主机的8022端口到容器的22端口,这是为了之后的ssh连接使用
如需映射更多端口,需再加-p 8001:80,即
docker run -i -t -d --name centos7 -p 8022:22 -p 8080:80 centos:7
最后的centos:7即之前pull下来的镜像,也可以改为对应的IMAGE ID,即图中的7e6257c9f8d8
创建完成后使用命令查看创建的容器
docker container ls --all
或者docker ps -a
能找到我们刚刚创建的名字对应的容器
4.进入CentOS7的docker容器
docker exec -it centos7 bash
这就进入了CentOS7的终端
输入exit
即可退出,回到当前主机
三:设置ssh访问
1.安装openssl以及openssh-server
yum install -y openssl openssh-server
安装完成之后先输入启动命令
/usr/sbin/sshd -D
查看报错信息,缺少三个key文件
输入以下三条命令创建对应key文件, 保持文件与缺少的文件一致
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.修改sshd_config文件配置信息
路径为/etc/ssh/sshd_config
可以使用vi编辑器:
vi /etc/ssh/sshd_config
如果没有vi编辑器则需要先安装,不过这里安装的CentOS7默认安装好了vi,可直接使用
没有则需安装vim,命令yum -y install vim*
1.将 Port 22 前面的注释去掉(开启22号端口)
2.将 PermitRootLogin 的注释去掉,将 no 改为 yes (这里是设置是否允许root用户登录,可根据自己需求决定是否开启)
重新启动ssh
/usr/sbin/sshd -D &
命令结尾的 & ,表示后台运行,启动成功会返回进程号
3.给root添加密码
yum install passwd
默认是已经安装了的,也可以使用以下命令设置密码
安装完成后,输入以下命令设置密码
passwd
4.ssh远程连接
设置完成后即可进行远程连接了,这里以Mobaxterm举例
输入宿主机的IP,端口为之前映射的端口号,按照文中即为 8022 我这里是虚拟机上运行的Linux,所以为内网ip
输入账号root以及之前设置的密码登录即可进入终端
至此,教程全部结束,随着版本迭代和更新,可能有部分不一样,有问题可以随时评论指出
四:常用docker命令
1.docker镜像操作
docker pull ${IMAGE NAME} #拉取镜像
docker images #查看本地所有镜像
docker rmi ${IMAGE NAME/ID} #删除镜像
docker commit ${CONTAINER NAME} ${NEW IMAGE} #将当前容器保存成新的镜像
2.docker容器操作
docker ps #查看所有正在运行的容器,加-q返回id
docker ps -a #查看所有容器,加-q返回id
docker rm ${CONTAINER NAME/ID} #删除容器
docker start ${CONTAINER NAME/ID} #运行一个以前运行过的容器
docker stop ${CONTAINER NAME/ID} #停止一个正在运行的容器
docker restart $(docker ps -q) #重启所有正在运行的容器
docker run... #运行一个容器
--name ${container name} #设置容器名称
-p ${host port}:${container port} #映射主机和容器内的端口
-e ${env name}=${env value} #添加环境变量
-d #后台运行
-v ${host folder path}:${container folder path} #将主机目录挂在到容器内
${IMAGE NAME/ID} #镜像名/镜像ID
docker exec -it ${CONTAINER NAME/ID} /bin/bash #进入容器内
docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径