当前位置:首页 > linux > 正文内容

使用Docker制作一个CentOS7容器并安装python3

admin3年前 (2021-07-01)linux4193

1.下载centos镜像



docker pull centos:7

2.创建并启动容器


docker run -d --name centos7 --privileged=true -p 10022:22 -p 10080:80 -h testhost -v /home/fd/container/centos7:/home/centos7 centos:7 /usr/sbin/init

参数说明:

-d					后台运行方式 –-name				创建的容器名,方便启动、关闭、重启、删除容器等操作
–privileged=true	加上之后容器内部权限更多,不会出现权限问题 -p 10022:22 -p 10080:80	指定端口映射,可同时放通多个端口 -h testhost		指定容器主机名 -v /home/fd/container/centos7:/home/centos7	宿主机目录映射到容器内部目录 centos:7			本地centos镜像版本/或者镜像id
/usr/sbin/init		启动方式

3.进入容器

docker exec -it centos7 /bin/bash

4.在容器内部操作

先初始化 yum

yum update

安装 net-tools

yum -y install net-tools

查看网络测试

ifconfig

安装 vim 编辑器

yum -y install vim

安装 wget 下载使用

yum -y install wget

配置容器 yum更新源为国内ali yum源
此处也写一下,创建一个备份目录,把之前的 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 &&\
yum install -y iproute

5.在容器内安装python3

5.1.不要删除自带的python2.7,否则会出问题,因为centos许多软件需要依赖系统自带python
5.2.安装依赖工具 (安装这些模块都是为了成功编译安装python3,防止出现各种异常)

yum install -y make wget yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel mysql-devel gcc gcc-devel python-devel

5.3.下载

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

5.4.解压

tar -zxvf Python-3.6.5.tgz

5.5.移动至规范的放软件的目录下

mv Python-3.6.5 /usr/local

5.6.安装

cd /usr/local/Python-3.6.5/    
 ./configure
make
make install

注意:./configure命令没有指定安装路径,则默认安装在/usr/local/bin,如果指定安装路径,则命令为./configure --prefix=/usr/local/python3。

如果这里指定安装路径的话,安装完成后,不能直接使用python3启动,需要创建软连接。

ln -s /usr/local/python3/bin/python3 /usr/bin/python3 # 创建软连接 ls -l /usr/bin/python3 # 查看创建软连接 

同理,需要创建pip3的软连接

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 # 创建软连接 ls -l /usr/bin/pip3 # 查看创建软连接 

6.打包容器

打包容器成镜像

docker commit -a "edwin" -m "Centos7.6 platform for building and running Python 3.8 applications" -p 95096da60a6e username/centos7.6-python3.8:1.0.0 #命令中的 username 请替换为你的 Docker 账号用户名 

参数说明
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。

image-20210409165515106

7.上传到镜像公共仓库

7.1.上传到镜像公共仓库前提,需要先登陆:

docker login

输入用户名与密码登陆。

7.2.推送到公共仓库

docker push username/centos7.6-python3.8 # 推送到公共仓库

扫描二维码推送至手机访问。

版权声明:本文由视觉博客发布,如需转载请注明出处。

本文链接:https://feelsight.cn/post/118.html

返回列表

上一篇:玩客云刷ambian并写入内置存储

没有最新的文章了...

“使用Docker制作一个CentOS7容器并安装python3” 的相关文章

树莓花生壳内网映射官方教程失败解决

相信很多pi有都有外网访问树莓派上的服务的需求,但是现在公网ip成了稀缺资源,多数用户都是局域网ip。今天回家发现自己的公网ip也被改成内网了,再也不能随心所欲的访问树莓派了。之前在微信服务器教程的帖子里,很多pi友都会问我,没有公网ip怎么办,我都会推介他们使用花生壳内网版,但是我自己也不能确定是...

结合宝塔linux面板 centos6 7一键zabbix安装脚本!

结合宝塔linux面板 centos6 7一键zabbix安装脚本!

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。铁网维就不做过多的介绍,详情可以百度了解! 本次铁网维结合宝塔linux面板的环境来安装zabbix3.0.1 由于安装步骤比较多我已经写成脚本省去90%的配置...

centos7 安装zabbix客户端并监控

centos7 安装zabbix客户端并监控

 在上面博客中我们已经安装了zabbix的server端,如果我们需要对某台机器进行监控,还需要在被监控的机器上面安装客户端,这样才能进行监控,下面就给大家介绍一下agent端的安装教程   第一、导入源   sudo rpm -ivh http://rep...

树莓派raspbian系统更换国内源

树莓派新版系统更换了专门优化过的桌面环境PIXEL,正好手头有个闲置的TF卡决定刷上新版系统玩玩。下载刷系统过程很多教程页很简单。插卡,上电开机,释放卡上的剩余空间都很正常,因为树莓派官方源访问很慢下一步就是换成国内源,以前一直在用中科大的源,于是开始按照以前的方法修改/etc/apt/sou...

Centos7 修改SSH 端口

修改/etc/ssh/sshd_config vi /etc/ssh/sshd_config #Port 22 //这行去掉#号,防止配置不好以后不能远程登录,还得去机房修改,等修改以后的端口能使用以后在注释掉 Port 33378 //下面添加这一行 修改firewall配...

linux格式化挂载硬盘

linux格式化挂载硬盘

挂载硬盘: 提醒:挂载操作会清空数据,请确认挂载盘无数据或者未使用 第一步:列出所有磁盘 命令:ll /dev/disk/by-path 提示:如果无法确认数据盘设备名称,请使用df命令来确认系统盘的名称,从而排除挂错盘的情况...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。