基于 Docker 的几种常用 CentOS7 镜像

https://blog.csdn.net/github_39577257/article/details/107180891

# 1 查看系统中是否已经安装了 Docker
systemctl status docker
rpm -qa | grep -E "docker"
## 1.1 如果重新安装可以先卸载旧版本 Docker
yum remove docker-ce
rm -rf /var/lib/docker
## 1.2 更新系统包
yum -y update

# 2 访问如下网站,下载 Docker RPM 包
# https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
# 例如下
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.3.ce-3.el7.x86_64.rpm

# 3 安装
yum install docker-ce-18.06.3.ce-3.el7.x86_64.rpm

# 4 启动
systemctl start docker
## 查看信息
docker info

systemctl daemon-reload

systemctl restart docker

# 查看启动状态

systemctl status docker

制作中文环境基础版Centos7镜像

3.1 Dockerfile

Dockerfile 形式,将下面配置内容放到环境中的某个目录下 的Dockerfile 文件中。最后执行构建命令 docker build -t yore/centos7_v1 . 后面的 . 表示当前路径。主要拉取一个 centos 7 最新版本,并安装和设置中文语言环境。

FROM centos:7.8.2003

ENV LANG=zh_CN.UTF-8 \
LANGUAGE=zh_CN:zh \
LC_ALL=zh_CN.UTF-8

# Install tools
RUN yum update -y && \
yum reinstall -y glibc-common && \
yum install -y telnet net-tools && \
yum clean all && \
rm -rf /tmp/* rm -rf /var/cache/yum/* && \
localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# Define default command.
CMD ["bash"]
# 查看镜像。会看到两个,一个是原始镜像,一个是自定义配置后的镜像

docker images

# 1 运行。下面会对本容器做进一步的修改设置
# -d 后台运行容器
# -p 指定端口映射,格式为:主机(宿主)端口:容器端口
# --name="yore_centos7" 为容器指定一个名称
# -h "hostname" 指定容器的hostname;
# -m 设置容器使用内存最大值;
# --volume、-v 绑定一个卷
# --privileged=false 指定容器是否为特权容器,特权容器拥有所有的capabilities
# --cap-add=[], 添加权限,权限清单详见:http://linux.die.net/man/7/capabilities
docker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \
-p 30022:22 -p 30080:80 -h "bigdata" \
--name="centos7_base" -d yore/centos7_v1:latest /usr/sbin/init

# 2 启停容器
## 2.1 关闭容器
docker stop $CONTAINER_ID
## 2.2 启动某个容器
docker start $CONTAINER_ID
## 2.3 移除容器
docker rm -f $CONTAINER_ID

# 3 删除镜像
## image rm 等价于 rmi
docker image rm $IMAGE_ID
## 如果有多个相同的 IMAGE ID 的删除
docker rmi $REPOSITORY:$TAG

# 4 进入容器
docker exec -it $CONTAINER_ID /bin/bash
## 查看当前容器中 Centos7 版本
cat /etc/redhat-release

在容器中安装配置一些基础服务

# 1 为了更好的编辑文件可以安装 vim
yum install -y vim

# 2 为了查看端口信息更方便可以安装 lsof
yum install -y lsof

# 3 安装 wget
yum install -y wget

# 4 安装 tree
yum install -y tree

# 5 python 工具
yum install -y python-devel

# 6 安装编译 C 的环境
yum install -y gcc gcc-c++
yum install -y zlib
yum install -y zlib-devel
yum install -y tcl build-essential tk gettext

SSH

# 1 yum 安装 spenssl 服务
yum -y install passwd openssl openssh-server openssh-clients
mkdir /var/run/sshd/

# 2 修改配置
vim /etc/ssh/sshd_config +39
## 大概在 38 - 45 行之间,修改或添加如下三个配置
PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes

# 3 sshd 服务的启停
## 3.1 启动
systemctl start sshd.service
## 3.2 查看 sshd 服务状态
systemctl status sshd
## 3.3 停止
systemctl start sshd.service

# 4 设置为开机自启
systemctl enable sshd.service

# 【可跳过】5 生成ssh的密钥和公钥
# ssh-keygen -t rsa

# 6 查看 SSH 服务
lsof -i:22

# 7 设置 root 密码(2020)
passwd

# 8 通过 ssh 访问容器
ssh root@bigdata

 

修改容器配置

# 1 停止当前运行的容器
docker stop $CONTAINER_ID

# 2 commit 该 docker 容器
docker commit $CONTAINER_ID new_image:tag

# 3 查看当前的镜像库
docker images

# 4 用生成的新镜像重新起一个容器
docker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \
-p 30022:22 -p 30080:80 -p 33306:3306 \
--name="yore_centos7_v2" -h "bigdata01" -d yore/centos7_v2:latest /usr/sbin/init

制作为本地镜像

# 1 停止当前运行的容器

docker stop $CONTAINER_ID

# 2 commit 该 docker 容器

docker commit $CONTAINER_ID centos7_base:v1

# 3 查看当前的镜像库 docker images

基于 Docker 的几种常用 CentOS7 镜像

上一篇:fate,destiny,luck,doom区别


下一篇:阿里云ECS云服务器通用型g6是通用型g5的升级版性能有所提升