Docker安装Centos

林凌 发布于 2022-12-08 1025 次阅读


1、拉取centos镜像并启动

我们的主要目的是创建一个centos系统,在不想破坏宿/新建主机的环境的情况下跑一些程序,可以通过这种方法进行一个操作。这样就会得到一个纯净的centos系统,并且可以随时随地的访问这个centos系统。

# 查看centos有哪些镜像
docker search centos

# 拉取centos镜像
docker pull centos

# 查看拉取到的镜像
docker images

#查看更详细的centos信息
docker inspect centos

#创建并启动centos容器
docker run -itd -p 2060:22 -v /home/jason:/home/centos --name centos8 --privileged centos /usr/sbin/init
#进入到docker容器控制台
docker exec -it centos8 /bin/bash

参数--name设置container容器的名称,我们设置成centos8,如果为空则随机生成。

参数-p指定端口号,2060是宿主机的端口号,22是container的端口号,相当于把容器的22端口号映射到宿主机的2060。

参数-v设置主机与container的共享目录: 主机绝对路径:container绝对路径,我们这里把宿主机的/home/jason目录,映射到container的/home/centos,你在容器里是可以查到这个目录的。

参数centos对应的是镜像的名称。

2、给centos安装ssh

这里是容器里的操作,容器里开放22端口:

#更新centos源
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

#生成缓存更新
yum makecache

#升级安装包
yum update -y

#进行安装包的更新
yum upgrade -y

#安装ssh
yum -y install openssh-server

#启动ssh服务
systemctl start sshd

#安装passwd
yum install passwd -y

#修改root密码,输入passwd,然后输入修改的密码即可
passwd

#安装firewalld
yum install firewalld -y

#启动firewalld
systemctl start firewalld

#firewalld开放22端口
firewall-cmd --permanent --add-port=22/tcp

#安装net-tools,可以查看端口状态
yum install net-tools

#查看端口状态
netstat -ntlp

3、开放宿主机2060端口

这里是宿主机里操作,也就是安装docker的那台机器,宿主机开放2060端口。

#安装ufw开放2060端口
apt install ufw

#开放2060端口
ufw allow 2060

#安装net-tools
apt install net-tools

#查看ip地址
ifconfig

这个时候就已经大功告成了,只要使用shell连接ip:2060,就可以访问你所创建的Centos了。

4、退出关闭容器

centos8是我们给运行中的这个容器起的名儿,所以都可以根据这个名称进行操作,当然也可以使用容器ID进行操作。

#退出容器,在命令行输入exit
exit

#关闭容器, docker stop + 容器ID
docker stop centos8

# 查询所有的容器,包括没有运行的
docker ps -a

#查看所有运行中的容器
docker ps

#开启容器docker start + 容器ID或者容器名
docker start centos8

#进入容器 docker attach + 容器的ID或者容器的名称
docker attach centos8

#删除容器docker rm -f + 容器名
docker rm -f centos8

题外话

当然也可以通过这种方法搭建其他的系统,只要在查看镜像的时候更换相应的系统名称就可以了。