基於 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM