centos8安装docker 、docker compose,C++代码在docker里跑起来

本来计划是打算学一下bigtable的,早上又研究了一下LSM树,最近我的网站后台整好升级测试完了,以前都是git拉下来,整好寻思学学新技术docker。

目录

    • 理解一下docker
    • 编译自己的C++源程序
    • 未完
    • docker compose安装
    • 跑通docker compose
    • 往docker仓库放入镜像

官网安装链接,这个教程centos8安装会失败,看这篇文章解决这个问题
centos8安装docker 、docker compose,C++代码在docker里跑起来_第1张图片
,然后就是启动在普通用户下执行docker image ls会报错,加入以下命令

sudo usermod -aG docker $USER # 我的电脑是重启了一下接下来才可以不用sudo
ldconfig # 不重启的试试这个命令好不好使,我也是现在才想起来的

阮老师的教程老棒了

sudo systemctl enable docker # 开机自动启动

运行一下示例吧

docker  run hello-world

centos8安装docker 、docker compose,C++代码在docker里跑起来_第2张图片

理解一下docker

image 是镜像,可理解为可执行程序
container是容器,可理解为进程

docker image ls # 来查看镜像
docker image rmi -f XXXID # 强制删除ID多少的镜像
docker image rm -f name # rm是删除名字,rmi是删除id
docker container ls # 来查看容器
.dockerignore #这个文件就是不希望把路径下的文件/文件夹打包的文件
Dockerfile # 这个就是主角文件,可以看成CMakeLists.txt

Dockerfile文件的内容
centos8安装docker 、docker compose,C++代码在docker里跑起来_第3张图片
生成镜像文件 -t是意思为你的镜像打一个tag

docker image build -t koa-demo .

启动这个容器,–rm表示,ctrl + c结束这个容器就删除这个容器。

docker container run --rm -p 8000:3000 -it koa-demo /bin/bash

centos8安装docker 、docker compose,C++代码在docker里跑起来_第4张图片

docker container start [containerID] # 相当于restart这个容器了
docker container stop [containerID] # 停止一个容器

编译自己的C++源程序

我对dockerfile文件的参数又有了新的理解,from参数就是你本地没有镜像会去仓库帮你下好,Run参数就是执行一条shell语句,COPY参数就是将你的文件放到镜像目录下,WORKDIR指定一下工作路径,在RUN一下把这个源文件编译了一下
Dockerfile

FROM gcc:latest

RUN mkdir /src

COPY docker_test.cpp /src

WORKDIR /src

RUN g++ docker_test.cpp -o main

docker image build -t my_first_cpp_image . # 注意镜像有命名规范,必须全员大写
docker run -it my_first_cpp_image /bin/bash # 跑起来
./main # 在容器里面执行
ctrl + d 退出当前容器

附上一张跑起来的小小截图哈哈哈哈
centos8安装docker 、docker compose,C++代码在docker里跑起来_第5张图片

docker inspect # 获取容器的ip等信息

未完

研究研究如何把电脑自带的源文件也给编进来,比如我项目用到的gflag库,暂时放弃了

docker compose安装

当我FROM centos生成镜像的时候发现里面竟然没有vim,又拉取了一个vim的镜像,两条FROM指令,发现我去竟然只能跑vim了,那有个鸡儿用。。。在我百折不挠的寻找下,终于找到了这个compose。docker官网链接我是看得官网链接下载的。

跑通docker compose

网上的例子一个也没跑通,还是看得官网的教程官网例子,这跑通一次真是太费劲了,执行了dockerfile一条安装命令用了3900S,不知道是在图书馆网不好还是怎么回事。终于跑通感动哭了,不过我还是决定了暂时不用compose部署我的项目了,老老实实dockerfile用RUN wget来安装东西到镜像里了,这个compose太折磨了,日后需要在研究一下
在这里插入图片描述
centos8安装docker 、docker compose,C++代码在docker里跑起来_第6张图片

往docker仓库放入镜像

注册docker仓库账号

docker login
docker image tag pine:0.0.1 dxgzg/pine:0.0.1 # 这样重新打个包,前面是名字(注册账号)然后是项目名字,最后是版本号
docker push dxgzg/pine# 上传

docker pull dxgzg/pine:0.0.1 # 另一台电脑拉取镜像

你可能感兴趣的:(linux下工具,docker,centos,linux)