欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

docker学习二(基于centos7镜像构建python3和nginx,uwsgi的新镜像)

程序员文章站 2022-04-29 14:07:23
...

一、安装docker(略)

二、换源

# 进入docker
cd /etc/docker
# 找到json文件,并编辑
vim daemon.json  
# 替换
{"registry-mirrors": ["http://hub-mirror.c.163.com"] }
# 重启docker
sudo systemctl restart docker    

三、拉取centos7的镜像

docker pull centos:centos7

四、查看

docker images

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g8NRzCN0-1573123249582)(/Users/bobwang/Library/Application Support/typora-user-images/image-20191107125835569.png)]

五、启动

docker run -it --rm centos:centos7
# 启动后查看版本号
cat /etc/redhat-release 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-315k9bIj-1573123249584)(/Users/bobwang/Library/Application Support/typora-user-images/image-20191107130016390.png)]

六、安装依赖

yum update -y
yum -y groupinstall "Development tools"
#2
 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel -y

七、安装nginx


1)前往用户根目录
>: cd ~

2)下载nginx1.13.7
>: wget http://nginx.org/download/nginx-1.13.7.tar.gz
# 没有wget就yum install wget
3)解压安装包
>: tar -xf nginx-1.13.7.tar.gz

4)进入目标文件
>: cd nginx-1.13.7

5)配置安装路径:/usr/local/nginx
>: ./configure --prefix=/usr/local/nginx

6)编译并安装
>: make &&  make install
#报错
src/os/unix/ngx_user.c: In function 'ngx_libc_crypt':
src/os/unix/ngx_user.c:26:7: error: 'struct crypt_data' has no member named 'current_salt'
     cd.current_salt[0] = ~salt[0]; 
     
# 解决

7)建立软连接:终端命令 nginx
>: ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

8)删除安装包与文件:
>: rm -rf nginx-1.13.7
>: rm -rf nginx-1.13.7.tar.xz

# 此刻如果直接打包成镜像,则启动的时候需要加 -g "daemon of;"
## 构建命令
docker commit -a bobwang -m "nginx1.13.7 for centos7" 739295627e3b centos7ofnginx:1.0
# 启动
 docker run -d -p 80:80 --name mynginx centos7ofnginx:1.0 nginx -g "daemon off;"


八、基于新构建的centos7ofnginx:1.0生成容器,进入构建python3

#1、 启动镜像
docker run -it <镜像id>
# 2、下载python3.6.8的
# 或者是将本地的压缩包传到容器内
docker cp  Python-3.6.8.tar.xz 7c980d3fd082:/root  
# 3、解压
tar -xJf Python-3.6.8.tar.xz
# 4、进入目标文件
cd Python-3.6.8
# 5、配置安装路径:/usr/local/python3
>: ./configure --enable-optimizations --prefix=/usr/local/python3 
# 6、编译安装
make && make install
# 7、建立软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
#8删除安装包与文件:
>: rm -rf Python-3.6.8
>: rm -rf Python-3.6.8.tar.xz
#9 换源
1)创建pip配置路径
>: mkdir ~/.pip

2)进入目录编辑配置文件:填入下方内容
cd ~/.pip && vim pip.conf

[global]
index-url = http://pypi.douban.com/simple
[install]
use-mirrors =true
mirrors =http://pypi.douban.com/simple/
trusted-host =pypi.douban.com

九、安装uwsgi

pip3 install uwsgi

十、安装项目需要的所有依赖环境

#将pip.txt从服务器传到容器内
docker cp requirement.txt <容器id>:/root
 #pip3 安装
 pip install -r pip.txt

十一、打包镜像

docker commit -a bobwang -m "faq_project_image" f09dbe03dbe7 centos7ofdialog:1.0