并行1---mpich在ubuntu中运行--docker的创建和使用
并行实验1
修改镜像源:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
修改教程1:https://blog.csdn.net/qq_41822647/article/details/85122467
ubuntu修改教程2:https://blog.csdn.net/u013541411/article/details/81410964
并行---mpich在linux中运行
- 并行实验1
- 一级目录
- 二级目录
- 三级目录
- 下载docker
- docker安装成功
- 查看docker安装状态
- 启动Docker
- 将该用户添加到docker的目录下
- MPICH下载和安装
- mpich下载
- 创建root/mpich文件夹
- 解压mpich的压缩包
- 进入mpich的安装文件夹,配置安装路径
- GCC安装
- 再次重新配置
- 执行make命令
- 安装 install
- 配置环境变量
- 执行案例程序
- 设置ssh
- 制作mpi镜像
- 构建docker网络
- 创建多个节点
- Ping节点3
一级目录
二级目录
三级目录
下载docker
curl -sSL https://get.daocloud.io/docker | sh
如没有curl,执行下面的安装,安装好了curl后,再次执行上面的命令
sudo apt install curl
docker安装成功
查看docker安装状态
docker -v
查看版本
启动Docker
sudo service docker start
docker run hello-world
报如下错误:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.#docker进程使用 Unix Socket 而不是 TCP 端口。而默认情况下,Unix socket 属于 root 用户,因此需要 root权限 才能访问。
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名,例如我的,liangll
sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组
将该用户添加到docker的目录下
执行更新命令:newgrp docker
再次执行:docker run hello-world
MPICH下载和安装
mpich下载
使用wget 命令下载:http://www.mpich.org/static/downloads/3.2/mpich-3.2.tar.gz
wget http://www.mpich.org/static/downloads/3.2/mpich-3.2.tar.gz
在root中创建文件需要提权,使用root用户,所以使用sudo passwd进行重新设置root的密码
创建root/mpich文件夹
mkdir mpich
解压mpich的压缩包
tar -zxvf mpich-3.2.tar.gz -C /root/mpich/
进入mpich的安装文件夹,配置安装路径
./configure --prefix=/root/mpich #安装路径不能和源路径在同一个下,会提示报错,没有在环境变量中找到c编译环境
#编译安装需要gcc编译环境和fortran 编译环境,其中fortran 是可选的,可根据提示增加--disable-fortran取消fortran的配置。make && make install
GCC安装
apt install g++
which gcc #查看gcc路径
再次重新配置
./configure --prefix=/root/mpich/mpich_intall --disable-fortran#可以看到Configuration completed.
执行make命令
make
如果make出错需要运行下面的重新构建
make clean
make
安装 install
make install
查看安装文件的目录
配置环境变量
找到mpich的安装目录
vim ~/.bashrc
在文件的开头放入以下文字
export PATH=$PATH:/root/mpich/mpich_install/bin
##上面的=号两边不能有空格
执行案例程序
mpicc /root/mpich/mpich-3.2/examples/hellow.c -o /root/mpich/mpproject/hello.o
mpirun /root/mpich/mpproject/hello.o #执行命令
执行结果:
设置ssh
ssh-keygen -t rsa -P '' -f ~/.ssh/id_dsa
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
Your identification has been saved in /root/.ssh/id_dsa
Your public key has been saved in /root/.ssh/id_dsa.pub
The key fingerprint is:
SHA256:Z5nYgdAotLIG8LN9MRW68sdEtlydRkpn/FFlgzFxVB4 root@pan-virtual-machine
The key's randomart image is:
+---[RSA 3072]----+
|. .. .oo...++=EB|
|.. ...+.o *.o+oo|
|. + ..+ + + +. ..|
| . * B = = . |
| + o o S * |
| . + o o |
| . o |
| . |
| |
+----[SHA256]-----+
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
#安装ssh
sudo apt-get install openssh-server
sudo apt-get install openssh-client
制作mpi镜像
cantos
FROM centos:centos7
WORKDIR /root
ADD mpich-3.2.tar.gz .
RUN yum install -y gcc gcc-c++ automake autoconf libtool make openssl openssh-server
RUN mkdir ./mpich && ./mpich-3.2/configure --prefix=/root/mpich --disable-fortran && make && make install && mkdir /root/program
RUN ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' && cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys && \sed -i 's/PermitEmptyPasswords yes/PermitEmptyPasswords no /' /etc/ssh/sshd_config && \sed -i 's/PermitRootLogin without-password/PermitRootLogin yes /' /etc/ssh/sshd_config && \echo " StrictHostKeyChecking no" >> /etc/ssh/ssh_config && \echo " UserKnownHostsFile /dev/null" >> /etc/ssh/ssh_config && \echo "root:1234" | chpasswdENV PATH=$PATH:/root/mpich/bin
EXPOSE 22
CMD [ "sh", "-c", "/etc/init.d/ssh start; bash"]
ubuntu
# 指定新镜像所基于的镜像,必须为第一条指令
FROM ubuntu
MAINTAINER 65782152
#ADD等命令的执行目录
WORKDIR /root
#将压缩包加入,且会自动解压ADD src target
ADD mpich-3.2.tar.gz .
#执行相关的命令
#安装G环境
RUN sed -i 's#http://archive.ubuntu.com/#http://mirrors.tuna.tsinghua.edu.cn/#' /etc/apt/sources.list
RUN apt-get update
#RUN apt-get install -y build-essential
RUN apt-get install g++ --fix-missing#安装ssh环境
RUN sudo apt-get install openssh-server
RUN sudo apt-get install openssh-clientRUN mkdir ./mpich && ./mpich-3.2/configure --prefix=/root/mpich --disable-fortran && make && make install
#创建程序目录
RUN mkdir /root/program
#ssh命令 以及相关的配置
RUN ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' && cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys && \sed -i 's/PermitEmptyPasswords yes/PermitEmptyPasswords no /' /etc/ssh/sshd_config && \sed -i 's/PermitRootLogin without-password/PermitRootLogin yes /' /etc/ssh/sshd_config && \echo " StrictHostKeyChecking no" >> /etc/ssh/ssh_config && \echo " UserKnownHostsFile /dev/null" >> /etc/ssh/ssh_config && \echo "root:root" | chpasswd
#环境变量的配置
ENV PATH=$PATH:/root/mpich/bin
#端口开启
EXPOSE 22
CMD [ "sh", "-c", "/etc/init.d/ssh start; bash"]
docker build . -t my-mpich:1.0
构建docker网络
创建多个节点
Ping节点3
并行1---mpich在ubuntu中运行--docker的创建和使用相关推荐
- abp 打包部署到ubuntu_如何在Ubuntu中安装Docker和运行 Docker容器
Docker是一种开源且流行的操作系统级虚拟化(俗称"容器化")技术,主要在Linux和Windows上运行. Docker使用容器可以更轻松地创建,部署和运行应用程序. 使用容器 ...
- 如何在Docker容器中运行Docker [3种方法]
在本博客中,我将向您介绍在docker中运行docker所需的三种不同方法. Docker In Docker的用处 dockerIndocker的一个潜在用处是CI管道,在代码成功构建后,您需要在其 ...
- 教你成功在Win10系统中运行docker
1 前言 在上文Docker初体验中我们介绍了Docker的一些基本概念和常用命令,但因为Docker是在Linux系统下创建的资源分离机制,所以它无法在Windows系统下直接运行.这次我们将用3分 ...
- 在Ubuntu中安装docker出现【W: 无法下载 http://ppa.launchpad.net/longsleep/golang-backports/ubuntu.....】问题解决
在Ubuntu中安装docker出现[W: 无法下载 http://ppa.launchpad.net/longsleep/golang-backports/ubuntu/dists/bionic/I ...
- 【转】在Ubuntu中运行Exe程序
在Ubuntu中运行Exe程序 原文地址: https://jingyan.baidu.com/article/d45ad148a78cbe69552b8089.html 标签:ubuntu 1 2 ...
- Docker 容器中运行 Docker 命令
Docker 容器中运行 Docker 命令 在使用 GitLab/Jenkins 等 CI 软件的时候需要使用 Docker 命令来构建镜像,需要在容器中使用 Docker 命令:通过将宿主机的 D ...
- centos 7 中安装 docker和创建 tomcat容器并部署web应用
在 CentOS 7 中安装 Docker 和创建 Tomcat 容器并部署Web应用 一般部署Web应用都需要安装数据库,比如 MySQL 和 Redis,MySQL 和 Redis 属于多个Web ...
- samba服务器新建文件权限,Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析...
Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析 发布时间:2011-01-04 19:10:00 作者:佚名 我要评论 本文是基于ubuntu桌面版进行操作说 ...
- linux docker权限,linux - 如何解决ubuntu中的docker权限问题? - Ubuntu问答
问题描述 我已经按照here的说明安装了docker.我使用Ubuntu Trusty 14.04 (LTS) (64-bit).安装过程中的一切都很好.另外,命令$ sudo docker run ...
最新文章
- deeplearning量化
- 用计算机弹奏lemon乐谱,原神乐谱lemon怎么弹 lemon乐谱弹奏方法教学
- LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法
- android 平板安装程序开发者,android – 限制平板电脑中的应用安装
- python更新pip失败-新手求助, python 升级 pip 失败
- TCP/UDP,SOCKET,HTTP,FTP协议简析
- SpringMVC-web.xml头代码
- journal of systems science and complexity
- 无边框处理_PPT别再直接插图片,简单处理一下,瞬间提升你的PPT颜值
- Asynchronous(异步处理-Promise)
- 2020年Deribit成交量达2110亿美元 同比增长82%
- 10 分钟看懂消息队列 RocketMQ
- VC Ping IP的类
- Shadow Defender 安装后启动蓝屏、无法启动、不兼容 Win10 解决方案
- springboot配置https
- SAP中 关于BAPI_MATERIAL_SAVEDATA创建物料报错:字段MARA-MEINS/BAPI_MARA-BASE_UOM(_ISO)被定义为必需的字段; 它不包含条目
- 不要随便给猎头简历!不沟通就瞎投简历,毁了金三银四的大厂面试!
- css3中的渐变色效果
- 手机计算机软件删除了怎么恢复,电脑的程序软件不小心被删掉,该如何恢复?...
- 黑客无孔不入:硬盘指示灯和耳机也成漏洞
热门文章
- mysql查看表索引_mysql查询表索引的命令show
- 深度学习调参之dropout
- 输入自然数n,将n分解为质因子连乘的形式输出。例如:输入756,则显示为756=2*2*3*3*3*7
- JAVA eclipse(myeclipse)生成帮助文档(html或chm格式)
- 在linux下编写动态链接库的步骤: g++ -lc
- 短信验证码(短信接口:阿里云
- 大力扶持AR/VR发展,韩国政府成立3580万美元专项基金
- rtorrent编译
- python12306爬虫_【Python3爬虫】最新的12306爬虫
- Python 安装特定版本的 Opencv