docker创建并运行centos7容器

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容器》

创作辛苦!

您的每一个赞就是我努力的前进动力!

更多精彩,请关注本博主!

你可能感兴趣的:(Linux,docker,docker,centos,linux,运维)