【云原生--K8S】docker常用命令演示
学习和使用k8s,docker是基础。本篇通过演示一个C程序hello-world如何在docker容器中运行,来理解一下docker的常用命令
·
学习和使用k8s,docker是基础。本篇通过演示一个C程序hello-world如何在docker容器中运行,来理解一下docker的常用命令。
对于docker容器来说,要运行一个应用,首先得创建一个镜像文件。如下图的hello-world.cpp文件,如何创建docker镜像文件呢?
hello-world.cpp如下:
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
cout << "hello world!" << endl;
while(1);
return 0;
}
首先编写dockerfile文件hello-dockerfile如下:
FROM codenvy/cpp_gcc
RUN mkdir /home/user/myapp
ADD hello-world.cpp /home/user/myapp
WORKDIR /home/user/myapp
RUN g++ hello-world.cpp -o hello
CMD ["./hello"]
1)FROM 行表示构建是基于codenvy/cpp_gcc镜像进行的;
2)RUN 行表示执行mkdir命令创建目录/home/user/myapp;
3)ADD行表示添加文件hello-world.cpp到/home/user/myapp
4)WORKDIR 行表示切换工作目录为/home/user/myapp;
5)RUN 行表示执行g++命令编译;
6)CMD 行表示执行./hello命令。
1、通过hello-dockerfile文件创建镜像文件my-hello:v1
docker build -f ./hello-dockerfile -t my-hello:v1 .
2、查看镜像
docker images
3、运行镜像文件my-hello:v1
docker run my-hello:v1
4、查看容器
这个命令可以查看所有运行和停止的容器
docker ps -a
5、命令行进入运行my-hello:v1的容器
docker exec -it CONTAINER_ID bash
从下图可以看出,这个容器中PID为1的进程就是hello应用本身
6、停止容器
此时执行docker ps -a命令可以看到该容器处于停止状态
docker stop CONTAINER_ID
7、删除容器
此时执行docker ps -a命令看不到该容器
docker rm -f CONTAINER_ID
8、删除镜像文件
docker rmi my-hello:v1
更多推荐
已为社区贡献6条内容
所有评论(0)