CentOS安装docker,并配置CentOS容器以及设置ssh远程连接

2020-09-20 01:23 docker 1537 0

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
clientservice两部分表示docker安装启动都成功了

二:docker安装CentOS7

1.配置docker下载源

编辑或者新增文件/etc/docker/daemon.json,内容如下,其中地址可以用其他的,网上直接搜索

{
  "registry-mirrors": ["https://kfwkfulq.mirror.aliyuncs.com"]
}
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3

修改完成后执行重新加载以及重启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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

其中**–name后面的centos7表示容器的名字,-p**后面表示映射宿主机的8022端口到容器的22端口,这是为了之后的ssh连接使用

如需映射更多端口,需再加-p 8001:80,即

docker run -i -t -d --name centos7 -p 8022:22 -p 8080:80 centos:7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

最后的centos:7即之前pull下来的镜像,也可以改为对应的IMAGE ID,即图中的7e6257c9f8d8
创建完成后使用命令查看创建的容器
docker container ls --all或者docker ps -a
能找到我们刚刚创建的名字对应的容器

4.进入CentOS7的docker容器

docker exec -it centos7 bash
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

这就进入了CentOS7的终端
输入exit即可退出,回到当前主机

三:设置ssh访问

1.安装openssl以及openssh-server

yum install -y openssl openssh-server
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

安装完成之后先输入启动命令

/usr/sbin/sshd -D
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

查看报错信息,缺少三个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 ''
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3

2.修改sshd_config文件配置信息

路径为/etc/ssh/sshd_config
可以使用vi编辑器:

vi /etc/ssh/sshd_config
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

如果没有vi编辑器则需要先安装,不过这里安装的CentOS7默认安装好了vi,可直接使用
没有则需安装vim,命令yum -y install vim*
1.将 Port 22 前面的注释去掉(开启22号端口)
2.将 PermitRootLogin 的注释去掉,将 no 改为 yes (这里是设置是否允许root用户登录,可根据自己需求决定是否开启)

重新启动ssh

/usr/sbin/sshd -D &
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

命令结尾的 & ,表示后台运行,启动成功会返回进程号

3.给root添加密码

yum install passwd
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

默认是已经安装了的,也可以使用以下命令设置密码
安装完成后,输入以下命令设置密码
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}     #将当前容器保存成新的镜像
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4

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 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
暂无评论,我会出手
说点什么
最多上传8张图片,仅支持jpg,png格式图片,单张大小5MB以内!
用户名: