基于Docker的几种常用CentOS7镜像小结

目录
  • 1 安装 Docker
  • 2 配置国内镜像源
  • 3 制作中文环境基础版Centos7镜像
    • 3.1 Dockerfile
    • 3.2 启动容器
    • 3.3 在容器中安装配置一些基础服务
    • 3.4 SSH
    • 3.5 【可选】修改容器配置
      • 3.5.1 通过容器的配置文件
      • 3.5.2 通过 docker commit 方式
    • 3.6 制作为本地镜像
    • 3.7 镜像提交到阿里云镜像库
    • 3.8 使用提交到阿里云的镜像
  • 4 开发环境版 Centos7 镜像
    • 4.1 JDK
    • 4.2 Git
    • 4.3 Maven
    • 4.4 Nginx
    • 4.5 Node.js
    • 4.6 保存为本地镜像
    • 4.7 镜像提交到阿里云镜像库
  • 5 带 MySQL 版Centos7镜像
    • 5.1 设置 Docker 网络
    • 5.2 启动容器
    • 5.3 MySQL
    • 5.4 保存为本地镜像
    • 5.5 镜像提交到阿里云镜像库

本文主要介绍了使用 Docker 来制作CentOS 环境的镜像,并上传到阿里云的 Docker 镜像仓库,其他有需要的可以通过连接拉取下载。我们在做开发时常常需要一些环境进行测试或者部署,在了解某个开源项目时也需要一个符合要求的环境下部署上手使用,但有时测试环境较杂乱,比如安装部署 Apache Druid时使用默认端口启动时可能会因为某些端口占用而启动失败,可以通过修改默认端口,但是对于刚上手使用的用户手动改动几个端口对于本来还不熟悉项目的人来说可能会令人困惑,虽然也可以通过虚拟机来创建一个新的环境,但这样比较麻烦, Docker 是个比较好的选择,仅需几个命令就可以启动运行一个容器,配上国内镜像源拉取下载速度是比较快的,不用时直接使用 docker 命令删除,对于自己的某个需求还可以制作符合自己使用需求的镜像,这样就实现了快速拉取、快速启动、快速移除和快速发布。

中文环境基础版 Centos7 镜像。在 CentOS 7 的镜像基础上,又添加了 vim、lsof、wget、tree、python-devel、c 编译环境、ssh服务。系统 root 密码为 2020

sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1
sudo docker pull registry-internal.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1

开发环境版 Centos7 镜像。在 中文环境基础版镜像基础上,又添加了 JDK8、Git、Maven、Nginx、Node.js服务。系统 root 密码为 2020

sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1
sudo docker pull registry-internal.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1

中文环境基础版镜像。在 开发环境版 Centos7 镜像基础上添加了 MySQL 5.7 服务。系统 root 密码为 2020mysql 的 root 用户密码为 123456

sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1
sudo docker pull registry-internal.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1

1 安装 Docker

# 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

2 配置国内镜像源

这里配置为阿里的镜像。访问阿里云官网 https://www.aliyun.com/登陆账号,进入管理控制台 --> 产品与服务 --> 弹性计算 --> 容器镜像服务 --> 镜像加速器,复制自己的专属加速器地址。

vim /etc/docker/daemon.json

# 添加自己的镜像地址,保存退出
{
  "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}

重新加载文件重启 docker

systemctl daemon-reload
systemctl restart docker
# 查看启动状态
systemctl status docker

3 制作中文环境基础版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

3.2 启动容器

# 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

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

# 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

为了用户登录容器内的 Centos 配置的环境变量都生效,进行如下配置

 vim ~/.bashrc

 # 在最后添加
 source /etc/profile

3.4 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

3.5 【可选】修改容器配置

当我们的容器运行过程中需要修改一些配置信息,并生效到容器时,可以按照如下两种方式操作,第一种方法操作简单,但是需要重启整个 Docker 服务,对应某些配置可能还无法生效;第二种方法是推荐的,直接在已有的容器下生成一个新的镜像,以新镜像重启容器,不会对已有容器产生任何影响。

3.5.1 通过容器的配置文件

# 其中 hash_of_the_container 可以通过查看 CONTAINER ID 获取
vim /var/lib/docker/containers/${hash_of_the_container}/hostconfig.json

打开后这个是一个压缩后的 json 文件,格式化可以看到 PortBindings,其中 HostPort 对应的是映射到宿主机的端口,22/tcp 对应的是容器内部的 22 端口,修改完后重启容器 systemctl restart docker,然后将容器启动 docker start $CONTAINER_ID,缺点就是每次改动Docker 服务要重启,容器也需要重启。

"NetworkMode": "default",
  "PortBindings": {
    "22/tcp": [
      {
        "HostIp": "bigdata01",
        "HostPort": "30022"
      }
    ],
    "80/tcp": [
      {
        "HostIp": "bigdata01",
        "HostPort": "30080"
      }
    ],
    "3306/tcp": [
      {
        "HostIp": "bigdata01",
        "HostPort": "33306"
      }
    ]
  }

3.5.2 通过 docker commit 方式

推荐方式docker commit 把一个容器的文件改动和配置信息 commit 到一个新的镜像。这个在测试的时候会非常有用,把容器所有的文件改动和配置信息导入成一个新的docker镜像,然后用这个新的镜像重起一个容器,这对之前的容器不会有任何影响。

# 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

3.6 制作为本地镜像

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

# 2 commit 该 docker 容器
docker commit $CONTAINER_ID centos7_base:v1

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

3.7 镜像提交到阿里云镜像库

  • 访问阿里云官网: https://www.aliyun.com/
  • 登陆案例云账号
  • 依次进入管理控制台 --> 产品与服务 --> 弹性计算 --> 容器镜像服务
  • 命名空间:设置后不可修改,例如 yore
  • 镜像仓库:命名空间选择上面创建的 yore,创建镜像仓库,根据提示填写信息(命名空间必选、仓库名必填,摘要必填),代码源可以绑定 Git变更后自动构建,这里选择本地仓库,手动创建镜像推送到仓库。
  • 访问授权:目前案例云只能通过 RAM 权限进行授权设置

访问密码:设置镜像仓库的密码(固定、临时)

# 查看本地已有的镜像
docker images

# 2 访问凭证(前面设置的访问凭证的固定密码 )
sudo docker login --username=7910*****@qq.com registry.cn-shanghai.aliyuncs.com

# 3 tag
docker tag $IMAGE_ID registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1

# 4 push到阿里云镜像
docker push registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1

# 5 如果前面 tag 的镜像需要删除,执行如下命令
docker rmi $REPOSITORY:$TAG

3.8 使用提交到阿里云的镜像

上一步提交成功后,在阿里云控制台页面可以看到如下我们提交的镜像

本镜像基于 Centos 7.8.2003,主要安装了 vim、lsof、wget、tree、sshd 等服务。注意:启动后 root 用户的默认密码为 2020,为了使系统更加安全,请先修改为更加复杂的密码。

# 查看当前 Docker 中有的镜像
sudo docker images 

# 拉取上传的镜像
## 镜像连接可以通过 基本信息 查看,有公网地址、专有网络、经典网络可选
sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003_v1

4 开发环境版 Centos7 镜像

将开发中常用到的环境进行安装和配置

# 1 运行。下面会对本容器做进一步的修改设置
# 以 base 镜像为准,启动容器
docker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \
-p 30022:22 -p 30080:80  -h "bigdata01" \
--name="centos7_dev1" -d centos7_base:v1 /usr/sbin/init

# 2 进入容器
docker ps
docker exec -it $CONTAINER_ID /bin/bash

# 3 hosts 改为。
172.17.0.3   yore.node1 bigdata01

4.1 JDK

# 1 下载。如果下面链接失效,则需要登录Oracle的账号,
# 访问 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载 jdk8
wget https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz?AuthParam=1573137213_adc79b33f2d9ed27cb8b09b6adf71820

# 2 解压
tar -zxf jdk-8u231-linux-x64.tar.gz -C /usr/local/
chown root:root -R /usr/local/jdk1.8.0_231

# 3 配置环境变量
vim /etc/profile
# 添加如下配置
### set java environment
JAVA_HOME=/usr/local/jdk1.8.0_231
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

# 4 并加载生效:
source /etc/profile

# 5 为了使每次进入容器时都生效
vim ~/.bashrc
# 最后一行添加,保存
source /etc/profile

# 6 查看Java版本
java -version

4.2 Git

# 1 下载源码方式,
wget -O git-2.27.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.27.0.tar.gz

# 2 解压
tar -zxf git-2.27.0.tar.gz -C /tmp/
cd /tmp/git-2.27.0 

# 3 检验相关依赖,设置安装路径
./configure --prefix=/usr/local/git

# 4 安装
make && make install

# 5 创建软连接
ln -s /usr/local/git/bin/git /usr/bin/git

# 6 查看版本
git -v

4.3 Maven

# 1 下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

# 2 解压
tar -zxf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3 /usr/local/maven3

# 3 修改配置
vim /usr/local/maven3/conf/settings.xml

配置如下内容

<!--大概在 55 行左右添加,指定本地仓库的路径-->
 <localRepository>/opt/.m2/repo</localRepository>

 <!--大概在158 行左右,配置国内镜像,这里配置为阿里 Maven 镜像-->
<!-- 配置阿里云的镜像 -->
<mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

<mirror>
  <id>central-repos1</id>
  <name>Central Repository 2</name>
  <url>https://repo1.maven.org/maven2/</url>
      <!-- 表示只为central仓库做镜像,如果想为所有的仓库做镜像那么可以改为 -->
  <mirrorOf>*</mirrorOf>
</mirror>

继续完成下面的配置

# 4 配置环境变量,
vim /etc/profile
# set Maven environment
export MAVEN_HOME=/usr/local/maven3
export PATH=$PATH:$MAVEN_HOME/bin

# 5 生效
source /etc/profile

# 6 查看版本
mvn -version

4.4 Nginx

# 1 下载 Nginx 离线安装包。以 x86、centos7版本为例
wget http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.17.6-1.el7.ngx.x86_64.rpm

# 2 安装
rpm -ivh nginx-1.17.6-1.el7.ngx.x86_64.rpm

# 3 配置文件
/etc/nginx
# server 服务可以配置到下面路径,以 .conf 结尾,重启或使配置生效
/etc/nginx/conf.d/

# 4 常用命令
## 4.1 启动,应为已经将内部 80端口映射到了宿主机的 30080,所以通过宿主机 ip 和 30080 端口浏览器访问
systemctl start nginx
## 4.2 状态
systemctl status nginx
## 4.3 停止
systemctl stop nginx
## 4.4 重启
systemctl restart nginx
## 4.5 配置重新生效
/usr/sbin/nginx -s reload

# 这里提供的镜像已停止了 Nginx 服务,在需要时请手动启动

4.5 Node.js

# 1 下载
wget https://nodejs.org/dist/v12.18.2/node-v12.18.2-linux-x64.tar.xz

# 2 解压
tar -xf node-v12.18.2-linux-x64.tar.xz
mv node-v12.18.2-linux-x64 /usr/local/nodejs

# 3 创建连接
ln -s /usr/local/nodejs/bin/node /usr/bin/node
ln -s /usr/local/nodejs/bin/npm /usr/bin/npm

# 4 查看版本
node -v
npm -v

4.6 保存为本地镜像

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

# 2 commit 该 docker 容器
docker commit $CONTAINER_ID centos7_dev:v1

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

4.7 镜像提交到阿里云镜像库

同 3.7 镜像提交到阿里云镜像库 步骤提交到阿里云镜像库中

docker tag $IMAGE_ID registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1
docker push registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1

本镜像基于 Centos 7,在中文基础版上,又集成了 JDK 、Git、Maven、Nginx、Node.js 服务。注意:启动后 root 用户的默认密码为 2020,为了使系统更加安全,请先修改为更加复杂的密码。

# 查看当前 Docker 中有的镜像
sudo docker images 

# 拉取上传的镜像
## 镜像连接可以通过 基本信息 查看,有公网地址、专有网络、经典网络可选
sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:7.8.2003-dev_v1

5 带 MySQL 版Centos7镜像

这里在开发环境版的镜像基础上安装 MySQL 数据库

5.1 设置 Docker 网络

# 1 查看存在的网络(默认会创建三个)
#  bridge           桥接网络。每次Docker容器重启时,会按照顺序获取对应的IP地址,这个就导致重启后 IP 地址可能会改变
#  host             主机网络。Docker 容器的网络会附属在主机上,两者是互通的。
#  none             容器就不会分配局域网的IP
[yore@VM_0_3_centos app]$ sudo docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
ba8077c371b9        bridge              bridge              local
1be5b2b64e10        host                host                local
77ef163ae7c4        none                null                local

# 2 创建自定义的网络。
# sudo docker network prune
# 注意:不能和已有的网段冲突
sudo docker network create --subnet=172.19.0.0/16 mynetwork

5.2 启动容器

# 1 运行。下面会对本容器做进一步的修改设置
# 以 centos7_dev 镜像为准,启动容器
# network 网络方式指定为前面自定义的 mynetwork,这样我们可以直接指定 ip
docker run --privileged=true --cap-add SYS_ADMIN -e container=docker -it \
--network mynetwork --ip 172.19.0.2 -h "bigdata02" --name="dev_mysql_v1" \
-p 30022:22 -p 33306:3306 \
-d centos7_dev:v1 /usr/sbin/init

# 2 进入容器
docker ps
docker exec -it $CONTAINER_ID /bin/bash

# 3 【可选】hosts 改为。也可以在 run 时指定
172.19.0.2   yore.node2 bigdata02

5.3 MySQL

MySQL 安装详见我的 blog CDH 6.2.0 或 6.3.0 安装实战及官方文档资料链接#1.5 MySQL内容。
• 系统中 mysql 用户的默认密码为 mysql。安全起见,在公网下请修改为密码强度更大的密码
• MySQL 默认开启了 binlog。可以在配置文件中关闭掉。
• 当报 error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory,执行 yum -y install numactl.x86_64
• MySQL 数据库管理员账号 root 的密码默认为 123456。可以自行修改为密码强度更大的密码。
• 默认情况下,远程连接:mysql -h 宿主机ip -P 33306 -uroot -p

5.4 保存为本地镜像

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

# 2 commit 该 docker 容器
docker commit $CONTAINER_ID dev_mysql:v1

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

5.5 镜像提交到阿里云镜像库

同 3.7 镜像提交到阿里云镜像库 步骤提交到阿里云镜像库中。

docker tag $IMAGE_ID registry.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1
docker push registry.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1

本镜像基于 Centos 7,在开发环境版的基础上,又集成了 MySQL 5.7 服务。注意:启动后 系统 root 用户的默认密码为 2020,为了使系统更加安全,请先修改为更加复杂的密码。

# 查看当前 Docker 中有的镜像
sudo docker images 

# 拉取上传的镜像
## 镜像连接可以通过 基本信息 查看,有公网地址、专有网络、经典网络可选
sudo docker pull registry.cn-shanghai.aliyuncs.com/yore/bigdata:dev-mysql_v1

关于 docker 的安装、docker 中 mysql 镜像的使用、官方 docker mysql 镜像中文字符等可以访问我的另一篇 blog: Windows/Mac系统Docker方式安装Mysql

到此这篇关于基于Docker的几种常用CentOS7镜像小结的文章就介绍到这了,更多相关Docker常用CentOS7镜像内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • docker 镜像加速CentOS7详细介绍

    前言 在Docker Hub官网上注册帐号,即可下载使用仓库里的全部的docker镜像.而因为网络原因,国内的开发者没办法流畅的下载镜像,经常会出现下载中断的错误.解决方法就是使用国内的容器Hub加速服务,本质就是更改pull优先级较高的服务器为国内的站点. 国内docker镜像加速站 阿里云 DaoCloud 灵雀云 系统环境 操作系统: CentOS 7 docker版本: 1.9.1 DaoCloud加速 DaoCloud现在是提供一个一键脚本配置registry-mirror,然而对于上

  • 详解docker镜像centos7配置Java运行环境

    1.拉取centos镜像 docker pull centos:7 2.基于拉取到的镜像运行一个容器 docker run -it --name mycentos docker.io/centos:7 /bin/bash 运行起来就直接进入了容器的交互界面 3.容器中安装jdk 首先查询可用的jdk版本 yum search java|grep jdk 根据搜索到jdk进行安装 yum install java-1.7.0-openjdk 安装完成之后可以不用配置环境变量,因为安装完成之后貌似是

  • CentOS7.2服务器上搭建Docker私有镜像仓库操作示例

    本文实例讲述了CentOS7.2服务器上搭建Docker私有镜像仓库操作.分享给大家供大家参考,具体如下: 鉴于国内pull镜像的速度较慢,很有必要搭建docker私有或者本地镜像仓库. 安装docker # yum -y install docker # systemctl start docker && systemctl enable docker 使用自签名进行安全认证 创建存放证书和密钥的certs目录 # mkdir -p /docker/certs # chcon -Rt s

  • centos7系统下搭建docker本地镜像仓库的方法

    系统环境: CentOS 7.2 192.168.0.179:Docker仓库 192.168.0.60:客户端 安装并启动docker yum -y install docker systemctl start docker systemctl enable docker 搭建私有仓库 179上下载registry镜像 docker pull registry 防火墙添加运行5000端口 iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT 下载完

  • 在Centos7 中更改Docker默认镜像和容器的位置

    一.Why? 通常,当你开始使用docker时,我们并不太关心Docker 用于存储镜像和容器的默认目录.当使用Docker进行更多实验时,Docker开始占用大量的空间时,你不得不按下紧急按钮.所以现在是时候把故障排除放在如何改变docker的默认存储位置了.费了很大力浏览了许多网站和论坛后,我无法确定在Centos7主机上更改Docker镜像和容器的默认目录的步骤.这篇文章提供了特定于Centos7的说明(它也适用于RHEL7).对于Debian,我可以找到很多文档和"如何"在互联

  • Docker在CentOS7下不能下载镜像timeout的解决办法(图解)

    今天小编给大家记录下Docker在CentOS7下不能下载镜像timeout的问题,先给大家说下问题的来龙去脉. 问题描述: 昨天买了六个月阿里云服务器的学生机用来部署毕设环境,在鼓捣docker的时候出现问题,docker安装成功并且已经成功启动,如图 但在pull镜像的时候却出现超时无法下载镜像的问题,估计是国内docker官方镜像被墙了,网上找了好久发现要使用国内镜像加速,推荐的有Daocloud和阿里云,我使用的是Daocloud镜像加速,注册了账号之后上方会有一个镜像加速的超链接 点进

  • 基于Docker的几种常用CentOS7镜像小结

    目录 1 安装 Docker 2 配置国内镜像源 3 制作中文环境基础版Centos7镜像 3.1 Dockerfile 3.2 启动容器 3.3 在容器中安装配置一些基础服务 3.4 SSH 3.5 [可选]修改容器配置 3.5.1 通过容器的配置文件 3.5.2 通过 docker commit 方式 3.6 制作为本地镜像 3.7 镜像提交到阿里云镜像库 3.8 使用提交到阿里云的镜像 4 开发环境版 Centos7 镜像 4.1 JDK 4.2 Git 4.3 Maven 4.4 Ngi

  • Docker 最常用的镜像命令和容器命令详解

    本文列出了 Docker 使用过程中最常用的镜像命令和容器命令,以及教大家如何操作容器数据卷,实现容器数据的备份.熟练练习这些命令以后,再来一些简单的应用部署练习,大家就可以学习 Docker 的镜像构建.备份恢复迁移.镜像仓库.网络.集群等等更多的内容. 镜像相关命令 官方文档:https://docs.docker.com/reference/ 查看镜像 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZ

  • 基于Docker镜像部署go项目的方法步骤

    依赖知识 Go交叉编译基础 Docker基础 Dockerfile自定义镜像基础 docker-compose编排文件编写基础 当然,一点也不会也可以按照这个步骤部署完成,不过可能中间如果出点小问题,会不知道怎么解决,当然你也可以留言. 我是在mac环境上开发测试的,如果你是在windows上可能有一点出入,但应该不会有啥大问题. 一.依赖环境 Docker 二.编写一个GoLang web程序 我这里就写一个最简单的hello world程序吧,监听端口是80端口. 新建一个main.go文件

  • .NETCore Docker实现容器化与私有镜像仓库管理

    一.Docker介绍 Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技术,它隔离了应用程序对基础架构(操作系统等)的依赖.相较于虚拟机而言,Docker共享的是宿主机的硬件资源,使用容器来提供独立的运行环境来运行应用.虚拟机则是基于Supervisor(虚拟机管理程序)使用虚拟化技术来提供隔离的虚拟机,在虚拟机的操作系统上提供运行环境!虽然两者都提供了很好的资源隔离,但很明显Docker的虚拟化开销更低! Docker涉及了三个核心

  • 详解基于Docker的服务部署流程

    本次总结涉及到Docker-io.Docker-ce的安装.CentOS7镜像的制作.Docker私有仓库搭建.CentOS6.7环境下从CentOS7私有仓库拉取私有镜像.Docker容器运行.CentOS6.5及CentOS7一起运行时兼容性处理等内容. 一.Docker基本组件及DevOps运作流程 DockerImage:Docker镜像是一个运行容器的只读模板. DockerContainer:Docker容器是一个运行应用的标准化单元. DockerRegistry:Docker注册

  • Docker新手初探之常用命令实践记录

    在正式使用Docker之前,我们先来熟悉下Docker中常用的命令,因为对Docker的操作就如同操作Linux一样,大部分操作通过命令完成. 一.登录 为什么要使用登录? 因为我们使用Docker,其实主要使用镜像从而运行容器.那么镜像可以通过仓库获得,因为仓库是集中存放镜像的地方.有的仓库是公开的,可以直接通过公开仓库获得镜像,有的是私有仓库,那么此时就需要通过登录仓库从而获得镜像. 如果想通过公开仓库获得镜像可以不用登录这一步,直接拉取镜像:如果想拉取私有仓库里的镜像则需要登录. 我们获得

  • 基于docker 搭建Prometheus+Grafana的过程详解

    一.介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作.Google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus.现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控. Prometheus基本原理是通过HTT

  • 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境的详细教程

    环境搭建概述 亲爱的家人们可以到链接:http://xiazai.jb51.net/202105/yuanma/javayaml_jb51.rar  下载所需要的yaml文件. 1.K8S是什么? K8S全称是Kubernetes,是一个全新的基于容器技术的分布式架构领先方案,基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化. 如果我们的系统设计遵循了kubernetes的设计思想,那么传统系统架构中那些和业务没有多大关系的底层代码或功能模块,都可以使用K8S来管

  • 写给前端的nginx配置指南基于docker所有配置秒级运行(最新讲解)

    目录 通过 docker 高效学习 nginx 配置 root 与 index location location 修饰符验证 location 优先级验证 proxy_pass add_header Cache CORS HSTS CSP 作业 三年经验的前端或多或少与 nginx 配置打过交道. nginx 的重要性不言而喻. 本篇文章以前端的视角,介绍下 nginx 的常见配置. 通过 docker 高效学习 nginx 配置 推荐一种高效学习 nginx 的方法: 在本地使用 nginx

  • 基于Docker结合Canal实现MySQL实时增量数据传输功能

    Canal的介绍 Canal的历史由来 在早期的时候,阿里巴巴公司因为杭州和美国两个地方的机房都部署了数据库实例,但因为跨机房同步数据的业务需求 ,便孕育而生出了Canal,主要是基于trigger(触发器)的方式获取增量变更.从2010年开始,阿里巴巴公司开始逐步尝试数据库日志解析,获取增量变更的数据进行同步,由此衍生出了增量订阅和消费业务. 当前的Canal支持的数据源端MySQL版本包括:5.1.x .5.5.x .5.6.x.5.7.x.8.0.x. Canal的应用场景 目前普遍基于日

随机推荐