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
题外话
当然也可以通过这种方法搭建其他的系统,只要在查看镜像的时候更换相应的系统名称就可以了。
Comments NOTHING