GVKun编程网logo

基于docker(纯净centos系统)打包centos7+python3的镜像(docker centos基础镜像)

12

此处将为大家介绍关于基于docker的详细内容,并且为您解答有关纯净centos系统打包centos7+python3的镜像的相关问题,此外,我们还将为您介绍关于CentOs6和Centos7安装do

此处将为大家介绍关于基于docker的详细内容,并且为您解答有关纯净centos系统打包centos7+python3的镜像的相关问题,此外,我们还将为您介绍关于CentOs6和Centos7安装docker、centos7 64bit 安装 docker 最新版教程(Centos7 下安装 Docker Engine)、centos7 下 基于docker搭建java/tomcat (方式一)、Centos7 系统下 Docker ce 的安装及镜像加速的有用信息。

本文目录一览:

基于docker(纯净centos系统)打包centos7+python3的镜像(docker centos基础镜像)

基于docker(纯净centos系统)打包centos7+python3的镜像(docker centos基础镜像)

基于docker(纯净centos系统)打包centos7+python3的镜像 和 如何在centos7部署python3环境

一、下载centos镜像

1、搜索centos镜像

docker search centos1

截图展示:

在这里插入图片描述


2、下载

docker pull docker.io/centos1

截图展示:

在这里插入图片描述


3、查看已下载的centos纯净系统

docker images1

截图展示:

在这里插入图片描述

二、创建容器并运行镜像

docker run -dit --name='centos_py3' 67fa590cfc1c /bin/bash
查看所有容器:docker ps -a 
12

截图展示:

在这里插入图片描述

三、进入centos_py3容器并部署python3环境

1、进入centos_py3容器

docker exec -it centos_py3 /bin/bash1

截图展示:

在这里插入图片描述


2、安装依赖包(最后显示 Complete! 表示安装成功)

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y1

截图展示:

在这里插入图片描述

3、下载python安装包

wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz1

注意:容器环境为纯净版本,wget命令默认没有安装,需要 yum install wget -y 进行安装
注意:python安装包安装路径,本次安装路径为   /opt
截图展示:

在这里插入图片描述


4、 解压python安装包

tar -Jxvf Python-3.5.2.tar.xz1

截图展示:

在这里插入图片描述

在这里插入图片描述


5、配置安装路径(切入到解压目录下操作)

./configure prefix=/usr/local/python31

截图展示:

在这里插入图片描述


6、编译安装(在解压目录下操作)

make && make install1

截图展示:

在这里插入图片描述


如果安装的是python3.7
执行make 报错

“ImportError: No module named '_ctypes'” 缺少依赖包

yum -y install gcc kernel-devel kenel-headers make bzip2
yum -y install gcc gcc-c++ zlib zlib-devel libffi-devel

重新编译执行 make123456

7、检测是否安装成功
截图展示:

在这里插入图片描述

8、配置软连接
需要将python3的执行程序 连接到根下的bin目录 但是跟下的bin目录指向的是/usr/bin 所以我们将python3的执行文件链接到/usr/bin下就可以了

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip312

截图展示:

在这里插入图片描述

四、将配置好环境的容器打包成镜像

1、退出容器

查看容器信息

在这里插入图片描述


打包前docker的镜像

在这里插入图片描述


2、打包容器为镜像

docker commit -m ’描述’  -a ’作者’ 容器名 镜像名:标签名1

在这里插入图片描述


可以发现镜像列表中多了一个自己创建的镜像

五、使用自己打包的镜像创建沙箱环境

创建一个容器测试一下打包后的centos_py3镜像是否好用:

docker run -idt --name='ceshi' 08723a7d9172 /bin/bash1

在这里插入图片描述


进入容器:

docker exec -it ceshi /bin/bash1

在这里插入图片描述


python3环境可以正常运行

六、镜像的使用

1、我可以将镜像打包到本地
格式:docker save -o 压缩后的文件名.Tar 镜像名 (注意你的路径)

docker save -o centos_py3.tar centos_py31

在这里插入图片描述


centos_py3.tar 就是我们打包的的镜像
2、使用tar包的镜像
格式:docker load < tar包的路径(注意路径)

docker load < centos_py31

在这里插入图片描述

         

CentOs6和Centos7安装docker

CentOs6和Centos7安装docker

Centos6安装的时候是按照网上的步骤,

yum install -y epel-release

yum install -y docker -io

service docker start

失败了,说是未被识别的服务,接下来

yum remove docker

yum remove docker-io

vi  /etc/yum.repos.d/docker.repo

放入下面的内容

[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey= https://yum.dockerproject.org/gpg
 
---------------------------分割线---------------------------
 
yum install docker-engine
 
service docker start
ok,启动成功
CentOs7安装与CentOs6差不多,
有个答案是先移除安装的和docker相关的东西
 

yum remove docker
yum remove docker-selinux

vi  /etc/yum.repos.d/docker.repo

[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey= https://yum.dockerproject.org/gpg

---------------------------分割线---------------------------
 
yum install docker-engine
 
service docker start

但是会报这样的错

[root@localhost ~]# service docker start
Redirecting to /bin/systemctl start docker.service
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details

我感觉应该是没有卸载干净,我是把虚拟机删除重新导入,按照上面的方式安装成功(如下):

vi  /etc/yum.repos.d/docker.repo

放入下面的内容

[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey= https://yum.dockerproject.org/gpg
 
---------------------------分割线---------------------------
 
yum install docker-engine
 
service docker start

 

 

 

 

 

 

centos7 64bit 安装 docker 最新版教程(Centos7 下安装 Docker Engine)

centos7 64bit 安装 docker 最新版教程(Centos7 下安装 Docker Engine)

一。先决条件

首选需要一个 64 位操作系统和 3.10 或者更版本的内核。

查看当前内核版本:

?

1 2

$ uname -r 3.10.0-229.el7.x86_64

二.yum 安装 Docker Engine

安装 Docker Engine 有两种方式,我们先选择 yum 安装,并且 Docker 官方提供了 yum 源。

1. 使用普通用户 sudo 或者 root 登录到你的服务器,更新 yum,确保你的软件都是最新的

?

1

$ yum update

2. 添加 Docker 的 yum 源

?

1 2 3 4 5 67 8

$ sudo tee /etc/yum.repos.d/docker.repo <<-''EOF'' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF

3. 安装 Docker 软件包

?

1

$ yum install docker-engine

4. 设置 Docker 服务开机自启

?

1

$ systemctl enable docker.service

5. 启动 Docker 服务

?

1

$ systemctl start docker

6. 验证 Docker 是否安装成功

?

1

$ docker run --rm hello-world

至此:docker 最新版已经安装完成,下面我们进行生产环境镜像的创建,使用 dockerfile

dockerfile (白话其实就是一个脚本,把一个纯镜像按照所需应用或者环境每个操作集成到一个文件执行安装的过程,类似于 linux 的 shell.)

走世界自由行环境需求(tomcat+jdk)

#以下是我们采用纯净 centos,之后安装所需环境依赖的应用(tomcat+jdk)

FROM centos

#以下是我们声明的维护人或者叫做作者

 

MAINTAINER locutus "zoushijie"

 

# OS 环境配置

RUN yum install -y wget

 

# 安装 JDK

RUN mkdir /opt/jdk

RUN wget -P /opt/jdk/ http://zsj-linux.oss-cn-hangzhou.aliyuncs.com/yunwei/jdk-8u162-linux-x64.tar.gz

RUN tar -zxvf /opt/jdk/jdk-8u162-linux-x64.tar.gz -C /opt/jdk && rm -rf /opt/jdk/jdk-8u162-linux-x64.tar.gz

 

# 安装 tomcat

RUN mkdir /opt/tomcat

RUN wget -P /opt/tomcat http://45.77.240.64/apache-tomcat-8.0.47.tar.gz

RUN tar -zxvf /opt/tomcat/apache-tomcat-8.0.47.tar.gz -C /opt/tomcat && rm -rf /opt/tomcat/apache-tomcat-8.0.47.tar.gz

 

#设置环境变量

ENV JAVA_HOME /opt/jdk/jdk1.8.0_162

ENV CATALINA_HOME /opt/tomcat/apache-tomcat-8.0.47

ENV PATH $PATH:$JAVA_HOME/bin

ENV CLASSPATH .:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#打包项目并拷贝到 tomcat webapps 目录

RUN mkdir /opt/webapp

ADD ./ /opt/webapp

RUN cd /opt/webapp && cp /opt/webapp/war/eureka-server.war /opt/tomcat/apache-tomcat-8.0.47/webapps/

 

#开启内部服务端口

EXPOSE 8080

 

#启动 tomcat 服务器

CMD ["./opt/tomcat/apache-tomcat-8.0.47/bin/catalina.sh","run"] && tail -f /opt/tomcat/apache-tomcat-8.0.47/logs/catalina.out

此为没有修改默认目录容器,下面我们进行修改默认访问目录操作

查看正在运行的容器:docker ps -l

之后进入容器:docker exec -it dd46f73e366e /bin/bash

进入 tomcat 修改 server.xml 文件,添加对应微服务名称:<Context path=""docBase=" 微服务名称 "debug="0"reloadable="true" />

之后要保证容器运行的状态下退出交互界面:Ctrl+p+q,我们可以看到容器仍在运行,下面我们保存一下刚才修改的容器,并以微服务命名

docker commit dd4 eureka-server

查看新生成的镜像:出现了名为 eureka-server 的镜像

删除本地不用的镜像。docker rmi -f <镜像 id>,首先先停止运行中的容器,docker stop < 镜像 id>,停止运行中的容器,要从 docker ps 里查看 id. 不是在 docker images 里查看。

centos7 下 基于docker搭建java/tomcat (方式一)

centos7 下 基于docker搭建java/tomcat (方式一)

centos7 下 基于docker搭建java/tomcat (方式一)

2017年07月27日 16:45:53 阅读数:1381 标签: docker 更多

个人分类: docker

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011382384/article/details/76208821

CentOS 7 中 Docker 的安装 
Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令(安装时间挺长。。。):

[root@localhost ~]# yum install docker

启动 Docker 服务 
安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:

[root@localhost ~]# service docker start 
[root@localhost ~]# chkconfig docker on

制作容器 
镜像下载到本地以后,就可以使用Docker运行,通过下面的命令参数启动容器:

docker run <相关参数> <镜像 ID> <初始命令>

-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中  (这个目录和本地是交互的,目录下的文件在容器和本地上是可以相互看见的)
格式:-v <宿主机目录>:<容器目录>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

我的相关程序都在宿主机器的/data/software/目录下,并且想把它挂载到容器的相同目录下:

[root@localhost ~]# sudo docker run -i -t -v /data/software/:/data/software/ 29ca665c0a12 /bin/bash

安装jdk/tomcat

创建好容器自动进入了容器   然后安装JDK和Tomcat等(这步最重要的就是配置tomcat环境,配置不好重启容器不能运行)

可以用命令【docker cp 文件名称 容器id : 容器下的路径】把相应的安装文件复制到容器中 
  • 1
  • 2
  • 3

安装相关的JDK等程序,这里全部安装到/data/目录:

[root@localhost ~]# docker cp jdk-8u77-linux-x64.tar.gz 29ca665c0a12:/data/ 
root@29ca665c0a12:/data# tar -zxvf jdk-8u77-linux-x64.tar.gz 
root@29ca665c0a12:/data# mv jdk1.8.0_77 jdk

[root@localhost ~]# docker cp apache-tomcat-7.0.68.zip 29ca665c0a12:/data/ 
root@29ca665c0a12:/data# unzip apache-tomcat-7.0.68.zip 
root@29ca665c0a12:/data# mv apache-tomcat-7.0.68 tomcat

附:docker容器中安装vim(apt-get install

root@29ca665c0a12:/data# apt-get update 
root@29ca665c0a12:/data# apt-get install -y vim

配置环境变量

root@29ca665c0a12:/data# vim /etc/profile

添加下面的配置:

export HISTTIMEFORMAT 
JAVA_HOME=/data/jdk
CLASSPATH=$JAVA_HOME/lib/ 
PATH=$PATH:$JAVA_HOME/bin 
export PATH JAVA_HOME CLASSPATH

export CATALINA_HOME=/data/tomcat 
export CATALINA_BASE=/data/tomcat
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

保存并退出,设置立即生效:

root@29ca665c0a12:/data# source /etc/profile

Tomcat 启动脚本

创建start.sh启动脚本

root@29ca665c0a12:/data# vim /data/start.sh

添加以下内容:

#!/bin/bash
# Export environment variable
source /etc/profile
# Start tomcat
bash /data/tomcat/bin/catalina.sh run
  • 1
  • 2
  • 3
  • 4
  • 5

添加可执行权限:

root@29ca665c0a12:/data# chmod u+x /data/start.sh

然后退出 容器

root@29ca665c0a12:/data# exit

#查看容器
docker ps    #查看运行的容器
docker ps -a  #查看 所有容器

docker start 容器Id      #启动容器
docker restart 容器id    #重启
docker stop  容器id      #停止容器
docker rm  容器id        #删除容器
docker rmi 镜像id        #删除镜像

docker ps 还看到容器启动成功 说明你成功了
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

提交镜像

提交容器 创建镜像 docker commit 容器ID 镜像名称

[root@localhost ~]# sudo docker commit 39b2cf60a4c1 tomcat/java

查看是否创建镜像

[root@localhost ~]# sudo docker images

如果看到 tomcat/java 这个镜像存在说明你成功了

docker inspect可以查看新创建的镜像的详细信息:

[root@localhost ~]# sudo docker inspect tomcat/java

运行新创建的容器 
( -p 18080:8080 是把 服务器的端口18080映射到容器端口8080 ,javaweb 命名容器名称, /data/start.sh 启动文件)

[root@localhost ~]# docker run -d -p 18080:8080 –name javaweb javazyl /data/start.sh

-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 18080 端口,
这样就向外界暴露了 18080 端口可通过 Docker 网桥来访问容器内部的 8080 端口了。
  • 1
  • 2

异常: 
启动一个有 nat 映射端口的容器时,iptables 报 No chain/target/match by that name 
这里写图片描述

找到系统的/etc/sysconfig/iptables ,如果没有用以下命令保存一下,然后查看里边的内容

[root@localhost ~]# iptables-save > /etc/sysconfig/iptables

博主是没有iptables这个文件,直接执行上面命令就创建了,重新启动后就成功了(同时关掉了firewalld) 
这里写图片描述
然后访问 http://192.168.164.129:18080/ 
这里写图片描述

详细请看这篇帖子

Centos7 系统下 Docker ce 的安装及镜像加速

Centos7 系统下 Docker ce 的安装及镜像加速

一、使用 yum 源安装

1、安装依赖包

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2、添加国内 Docker 源  # 为了能更快找到并下载 docker ce

$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


3、安装 Docker CE

更新 yum 软件源缓存,并安装 docker-ce

$ sudo yum makecache fast #更新 yum 软件源缓存
$ sudo yum install docker-ce #安装 docker-ce


 

二、调优工作

1、启动 Docker CE

$ sudo systemctl enable docker #开机启动 docker
$ sudo systemctl start docker #启动 docker


2、建立 docker 用户组

$ sudo groupadd docker #建立 docker 组
$ sudo usermod -aG docker $USER #将当前用户加入 docker 组


3、添加内核参数

默认配置下,如果在 CentOS 使用 Docker CE 看到下面的这些警告信息:

WARNING:bridge-nf-call-iptables is disabled
WARNING:bridge-nf-call-ip6tables is disabled
 

请添加内核配置参数以启用这些功能。

$ sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
 

然后重新加载 sysctl.conf 即可

$ sudo sysctl -p
 

4、国内镜像加速

$ sudo vim /etc/systemd/system/multi-user.target.wants/docker.service


找到 ExecStart= 这一行,在这行最后添加加速器地址 --registry-mirror=<加速器地址>,如:

ExecStart=/usr/bin/dockerd --registry-mirror=https://jxus37ad.mirror.aliyuncs.com #使用阿里云加速
$ sudo systemctl daemon-reload #重新加载 daemon
$ sudo systemctl restart docker  # 重启 docker


5、验证 docker ce 搭建和加速成功

$ sudo docker run --name webserver -d -p 81:80 nginx #docker 从仓库 pull 下 nginx 镜像并命名为 webserver,此镜像以后台模式,81 端口映射宿主机 80 端口运行
#如果下载速度较慢,可能国内镜像加速未成功。
$ firefox #打开 firefox 浏览器


输入  localhost:81  # 看到 nginx 欢迎界面表示搭建成功

转载自:http://blog.51cto.com/bestlope/1977059

今天关于基于docker纯净centos系统打包centos7+python3的镜像的讲解已经结束,谢谢您的阅读,如果想了解更多关于CentOs6和Centos7安装docker、centos7 64bit 安装 docker 最新版教程(Centos7 下安装 Docker Engine)、centos7 下 基于docker搭建java/tomcat (方式一)、Centos7 系统下 Docker ce 的安装及镜像加速的相关知识,请在本站搜索。

本文标签: