【Liunx】通过Docker部署C++服务器程序

Docker是什么

Docker是一个开源的应用容器引擎,Docker 能够将开发环境依赖的所有外部软件都打包到 容器 中, 发布的时候将整个 容器 拷贝到云服务器上即可。

Docker 的特点

1、资源隔离(容器和容器之间不会相互影响)

2、高性能(相比于传统的虚拟机)

Docker的安装

博主的环境是 CentOS 3.10.0,大家可以查看自己的环境:

uname -r

具体的安装步骤请参考:https://www.runoob.com/docker/centos-docker-install.html

理解几个概念

1、什么是容器:

容器是独立运行的一个或一组应用;

2、什么是镜像:

Docker 镜像是用于创建 Docker 容器的模板;

镜像和容器之间的关系, 类似于可执行文件和进程的关系;

3、什么是DockerHub: 

用于托管镜像的平台;

Docker常用命令

查看所有命令

docker

拉取镜像

docker pull hello-world

运行容器,如果本地不存在则自动拉取

docker run hello-world

查看镜像

docker images

查看容器

# 只列出运行中的容器
docker ps
# 列出所有容器(包含未运行的)
docker ps -a

停止容器

docker stop [容器ID]

删除镜像(要先删除容器)

docker rmi [镜像名]

删除容器 

docker rm [容器ID]

部署流程

这里我是用的是gcc 镜像 所以需要提前安装好,请参考前面的流程;

 在这里我们通过Dockerfile的方式创建自己的镜像,下面是Dockerfile的内容:

FROM gcc:latest

RUN  mkdir /usr/src/myapp

COPY test.c /usr/src/myapp

WORKDIR /usr/src/myapp

RUN  gcc test.c 

CMD ["./a.out"]

执行命令

docker build -t mygcc-test:v1 

//再次执行

docker images

//这时我们就可以看到在本地镜像中多了一个叫做mygcc-test的镜像,TAG为v1

启动镜像

//执行命令:

docker run -d mygcc-test:v1 //启动镜像

//执行命令:

docker ps //查看容器的运行情况 

查看程序运行状态

//接下来我们进入到容器当中,查看a.out程序在后台执行的情况:

docker exec -it mystifying_mclean /bin/bash 

参考博客:https://blog.csdn.net/len_yue_mo_fu/article/details/80189035 

你可能感兴趣的:(【Linux】,【实用技巧】)