[心得]利用docker做编译库环境总结
来源:互联网 发布:淘宝店女装运动服 编辑:程序博客网 时间:2024/06/02 03:43
升级gcc4.8.4,遇到的一些坑总结在这里。
首先是要检查docker有哪些镜像:
docker images
发现我们要的那个image没有
先清理掉之前限制的docker container:
docker rm $(docker ps -a -q)
然后是删掉一些没有tag的images
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
现在开始干正事:
在目录下准备好docker File:
FROM centos:6
然后执行
docker build -t "docker_gcc_4_8_4"
这一步会生成一个基本的docker环境
然后登录到相应的机器上,执行:
docker run -it -v /data/tmp/:/tmp/ --name build_gcc 127.0.0.1:8000/docker_gcc_4_8_4 /bin/bash
这样就进入了docker环境
下面是执行升级:
先备份原先gcc
#!/bin/bashmkdir -p /data/gcc-bakbak_list="/usr/bin/gcc /usr/lib64/libgomp.so.1.0.0 /usr/share/info/libgomp.info.gz /usr/share/info/dir /usr/bin/c++ /usr/bin/g++ /usr/share/man/man1/g++.1.gz /usr/bin/cpp /usr/share/info/cpp.info.gz /usr/share/info/cppinternals.info.gz /usr/share/locale/ /usr/share/man/man1/cpp.1.gz /usr/lib64/libstdc++.so.6"for file in $bak_listdo cp -r $file /data/gcc-bak/done
然后是,在/etc/ld.so.conf.d/目录下创建如下文件
cat gmp-mpfr-mpc.conf/usr/local/mpfr-2.4.2/lib//usr/local/mpc-0.8.1/lib//usr/local/gmp-4.3.2/lib/
接着把/tmp/lib.tar.gz解压到/usr/local目录下,然后执行ldconfig更新缓存。
尝试yum安装rpm
yum install gcc-4.8.4-1.x86_64.rpm
发现缺少太多的依赖
最后忽略依赖强制更新:
/bin/rpm -ivh /data/gcc-4.8.4-1.x86_64.rpm --force --nodeps
写了一个简单程序,验证没有问题,升级完毕。
#include <stdio.h>int main(){ printf("hello world\n"); return 0;}
在使用docker做push到docker私有仓库时,还遇到no route to host的问题。
$ docker commit$ docker push $REGISTRY_IP:5000/docker_gcc_4_8_4:latestError response from daemon: invalid registry endpoint "http://192.0.1.10:5000/v0/". HTTPS attempt: unable to ping registry endpoint https://192.0.1.10:5000/v0/v2 ping attempt failed with error: Get https://192.0.1.10:5000/v2/: dial tcp 192.0.1.10:5000: no route to host v1 ping attempt failed with error: Get https://192.0.1.10:5000/v1/_ping: dial tcp 192.0.1.10:5000: no route to host. HTTP attempt: unable to ping registry endpv2 ping attempt failed with error: Get http://192.0.1.10:5000/v2/: dial tcp 192.0.1.10:5000: no route to host v1 ping attempt failed with error: Get http://192.0.1.10:5000/v1/_ping: dial tcp 192.0.1.10:5000: no route to host
5000端口是docker私有云的端口通过以下这条命令来启动机器docker repository宿主机的5000端口:sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
0 0
- [心得]利用docker做编译库环境总结
- 利用Docker构建开发环境
- 利用Docker构建开发环境
- 利用Docker构建开发环境
- 利用Docker构建开发环境
- 利用镜像导入功能构建docker编译环境(免除网络的困扰)
- 开发者可以利用docker做什么?
- JSP编译中的心得,总结
- 利用Vagrant和Docker搭建环境
- 利用Docker搭建java项目开发环境
- docker 利用dockerfile进行创建环境
- 利用docker-compose和docker-swarm搭建ELK环境
- 构建一个docker 的java编译环境
- 使用docker搭建android源码编译环境
- 最近几年做软件项目的心得总结
- 最近几年做软件项目的心得总结
- 最近几年做软件项目的心得总结
- 最近做的网页总结心得
- 视频前景分割论文收集
- 10.18 T2
- Android之三种Menu的使用与分析
- 公安部督办侵犯个人信息案:银行行长卖账号
- Handling App Links
- [心得]利用docker做编译库环境总结
- MySQL常用数据类型介绍
- 前端学习之js学习之onunload
- js 剩余参数
- go lang 函数定义及其接口实例
- Android开发笔记(一百二十一)列表弹窗PopupMenu和ListPopupWindow
- CSDN-markdown编辑器语法——字体、字号与颜色
- 欢迎使用CSDN-markdown编辑器
- 虚拟机执行引擎