docker创建并运行centos7容器
先确保本地宿主机(或vmware虚拟机)环境为 CentOS7-x86_64 环境, docker已经安装
可对比 arm64 、 ppc64le 版本安装配置情况
鲲鹏920架构arm64版本centos7安装docker
CentOS7.7.1908-ppc64le成功安装docker
说明:
以下环境全是在CentOS7-x86_64 环境, docker已经安装
不建议直接在root用户下操作
所以创建普通用户并授权,然后再操作
请看文章 centos7添加用户并授权 run any commands anywhere
拉取centos7镜像
sudo docker pull centos:7
查看镜像列表
sudo docker images
创建容器前准备工作,先把宿主机系统防火墙起开,放通端口
可参考之前blog:Linux系统防火墙放行端口
此处是
# 查看系统防火墙状态
systemctl status firewalld
# 开启系统防火墙
systemctl start firewalld
- 放行端口
firewall-cmd --zone=public --add-port=10022/tcp --permanent && \
firewall-cmd --zone=public --add-port=10080/tcp --permanent && \
firewall-cmd --reload
- 查看放通的端口列表
firewall-cmd --list-port
- 若要再关闭系统防火墙
systemctl stop firewalld
创建并启动容器
sudo docker run -d --name c7-d1 --privileged=true -p 10022:22 -p 10080:80 -h c7-docker-1 -v /home/fd/container/c7-d-1:/home/c7-d1-ys centos:7 /usr/sbin/init
参数: | 说明: |
---|---|
-d | 后台运行方式 |
–name | 创建的容器名,方便启动、关闭、重启、删除容器等操作 |
–privileged=true | 加上之后容器内部权限更多,不会出现权限问题 |
-p 10022:22 -p 10080:80 | 指定端口映射,可同时放通多个端口 |
-h c7-docker-1 | 指定容器主机名 |
-v /home/fd/container/c7-d-1:/home/c7-d1-ys | 宿主机目录映射到容器内部目录 |
centos:7 | 本地centos镜像版本 |
/usr/sbin/init | 启动方式 |
进入容器
sudo docker exec -it c7-d-1 /bin/bash
参数 | 说明 |
---|---|
exec | 执行进入容器参数 |
-it | 终端模式显示 |
c7-d-1 | 创建时的容器名 |
/bin/bash | 启动方式 |
在容器内部操作
-
先初始化 yum
yum update
-
安装 net-tools
yum -y install net-tools
- 查看网络测试
ifconfig
-
安装 vim 编辑器
yum -y install vim
-
安装 wget 下载使用
yum -y install wget
-
配置容器 yum更新源为国内ali yum源
-
可看之前blog: centos阿里云更新源
此处也写一下,创建一个备份目录,把之前的 repo 移动到备份目录先备份下
cd /etc/yum.repo.d/
mkdir repos.bak
mv CentOS-* ./repos.bak/
然后如果容器内部能够连上网络,那就一条命令
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
如果容器内部连不上网络,那就如下操作
vim CentOS-Base-ali.repo
# 按照下面的格式来,建议直接CV
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
-
换完yum更新源,一定要执行
yum clean all
yum makecache # 也可以是 yum makecache fast ,更快一些
yum update
-
然后安装基本软件
yum -y install systemd && \
yum -y install firewalld && \
yum -y install openssh openssh-server openssh-clients && \
systemctl start sshd && \
ssh-keygen -t rsa
-
然后创建root密码
passwd root
-
然后本地xshell远程
-
宿主机(云服务器公网或vmware虚拟机在局域网的) ip:10022
宿主机ip:映射的容器端口port
— —
待续……
下集精彩,《docker创建并运行ubuntu16.04容器》
创作辛苦!
您的每一个赞就是我努力的前进动力!
更多精彩,请关注本博主!