并行实验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的创建和使用相关推荐

  1. abp 打包部署到ubuntu_如何在Ubuntu中安装Docker和运行 Docker容器

    Docker是一种开源且流行的操作系统级虚拟化(俗称"容器化")技术,主要在Linux和Windows上运行. Docker使用容器可以更轻松地创建,部署和运行应用程序. 使用容器 ...

  2. 如何在Docker容器中运行Docker [3种方法]

    在本博客中,我将向您介绍在docker中运行docker所需的三种不同方法. Docker In Docker的用处 dockerIndocker的一个潜在用处是CI管道,在代码成功构建后,您需要在其 ...

  3. 教你成功在Win10系统中运行docker

    1 前言 在上文Docker初体验中我们介绍了Docker的一些基本概念和常用命令,但因为Docker是在Linux系统下创建的资源分离机制,所以它无法在Windows系统下直接运行.这次我们将用3分 ...

  4. 在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 ...

  5. 【转】在Ubuntu中运行Exe程序

    在Ubuntu中运行Exe程序 原文地址: https://jingyan.baidu.com/article/d45ad148a78cbe69552b8089.html 标签:ubuntu 1 2 ...

  6. Docker 容器中运行 Docker 命令

    Docker 容器中运行 Docker 命令 在使用 GitLab/Jenkins 等 CI 软件的时候需要使用 Docker 命令来构建镜像,需要在容器中使用 Docker 命令:通过将宿主机的 D ...

  7. centos 7 中安装 docker和创建 tomcat容器并部署web应用

    在 CentOS 7 中安装 Docker 和创建 Tomcat 容器并部署Web应用 一般部署Web应用都需要安装数据库,比如 MySQL 和 Redis,MySQL 和 Redis 属于多个Web ...

  8. samba服务器新建文件权限,Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析...

    Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析 发布时间:2011-01-04 19:10:00   作者:佚名   我要评论 本文是基于ubuntu桌面版进行操作说 ...

  9. linux docker权限,linux - 如何解决ubuntu中的docker权限问题? - Ubuntu问答

    问题描述 我已经按照here的说明安装了docker.我使用Ubuntu Trusty 14.04 (LTS) (64-bit).安装过程中的一切都很好.另外,命令$ sudo docker run ...

最新文章

  1. deeplearning量化
  2. 用计算机弹奏lemon乐谱,原神乐谱lemon怎么弹 lemon乐谱弹奏方法教学
  3. LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法
  4. android 平板安装程序开发者,android – 限制平板电脑中的应用安装
  5. python更新pip失败-新手求助, python 升级 pip 失败
  6. TCP/UDP,SOCKET,HTTP,FTP协议简析
  7. SpringMVC-web.xml头代码
  8. journal of systems science and complexity
  9. 无边框处理_PPT别再直接插图片,简单处理一下,瞬间提升你的PPT颜值
  10. Asynchronous(异步处理-Promise)
  11. 2020年Deribit成交量达2110亿美元 同比增长82%
  12. 10 分钟看懂消息队列 RocketMQ
  13. VC Ping IP的类
  14. Shadow Defender 安装后启动蓝屏、无法启动、不兼容 Win10 解决方案
  15. springboot配置https
  16. SAP中 关于BAPI_MATERIAL_SAVEDATA创建物料报错:字段MARA-MEINS/BAPI_MARA-BASE_UOM(_ISO)被定义为必需的字段; 它不包含条目
  17. 不要随便给猎头简历!不沟通就瞎投简历,毁了金三银四的大厂面试!
  18. css3中的渐变色效果
  19. 手机计算机软件删除了怎么恢复,电脑的程序软件不小心被删掉,该如何恢复?...
  20. 黑客无孔不入:硬盘指示灯和耳机也成漏洞

热门文章

  1. mysql查看表索引_mysql查询表索引的命令show
  2. 深度学习调参之dropout
  3. 输入自然数n,将n分解为质因子连乘的形式输出。例如:输入756,则显示为756=2*2*3*3*3*7
  4. JAVA eclipse(myeclipse)生成帮助文档(html或chm格式)
  5. 在linux下编写动态链接库的步骤: g++ -lc
  6. 短信验证码(短信接口:阿里云
  7. 大力扶持AR/VR发展,韩国政府成立3580万美元专项基金
  8. rtorrent编译
  9. python12306爬虫_【Python3爬虫】最新的12306爬虫
  10. Python 安装特定版本的 Opencv