0


ubuntu使用docker创建镜像与容器

docker常用命令

作用命令启动/停止容器

docker start/stop [container_name]

删除容器

docker rm [container_name/ID]

删除镜像

docker rmi [image_name/ID]

查看正在运行的容器

docker ps

查看所有容器

docker ps -a

查看所有镜像

docker images

创建镜像

docker build -t [image_name] .

创建容器

docker run -it --name [container_name] [image_name]

进入正在运行中的容器

docker exec -it [container_name] /bin/bash

Dockerfile文件

用于创建镜像,通常包含以下步骤。
在这里插入图片描述

实例操作


一、创建“可执行程序及依赖库”的镜像

将一个可执行程序及其依赖库打包进镜像,该镜像不依赖于任何基础镜像,
相当于将程序打包,任何使用者利用该镜像即可执行程序,不用关心所处的开发环境。
这种无法进入目录,进入目录需要命令行工具bash,需要依赖于一个操作系统的环境镜像。

  1. 写一个简单的C程序,main.c在这里插入图片描述
  2. gcc编译main.c生成a.out在这里插入图片描述
  3. 查看a.out的依赖 可见a.out依赖于 /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2在这里插入图片描述
  4. 在当前目录创建依赖库的对应路径,并将依赖库拷贝在这里插入图片描述
  5. 创建Dockerfile文件在这里插入图片描述 这里设置工作目录为/app; FROM scratch 指基础镜像为空; COPY拷贝可执行程序a.out,并将依赖库拷贝到指定位置,防止库链接出错。
  6. 创建名为hello_docker的镜像 docker build -t hello_docker .在这里插入图片描述 查看镜像是否存在 docker images在这里插入图片描述
  7. 创建容器并运行 docker run -it --name hello_docker hello_docker 出现Hello docker!表示运行成功。在这里插入图片描述 查看容器 docker ps -a在这里插入图片描述

注:这种给软件打包的镜像与容器,在容器启动后运行可执行程序后,容器就会自动结束,在docker ps中也查询不到在运行中的容器。


二、创建“可编程环境”的镜像

基于ubuntu-18.04的开发环境,创建一个可编程环境的镜像。进入该镜像创建的容器,可以进行程序编译与运行,相当于一个ubuntu系统。

  1. 创建一个code文件夹与main.c在这里插入图片描述
  2. 编写Dockerfile在这里插入图片描述
  3. 创建镜像docker_test docker build -t docker_test .在这里插入图片描述 查看镜像,docker_test创建成功在这里插入图片描述
  4. List item 创建容器并运行 docker run -it --name docker_test docker_test 出现以下字样表明成功创建容器,并进入容器,当前目录为Dockerfile中创建的工作目录/code在这里插入图片描述 通过ls命令查看,可以发现main.c存在于/code下, 利用gcc编译main.c并运行可执行程序a.out, 出现Hello docker! 表明镜像与容器创建成功。在这里插入图片描述 可通过vscode远程连接进入容器docker_test中

如何进入容器

已经创建了一个容器,后面怎么进入该容器中?
通过docker exec命令

  1. 启动容器docker start container_name
  2. 进入容器 启用交互模式,可利用命令行进行交互(需要容器中包含bash shell)docker exec -it container_name /bin/bash

docker exec基本语法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

• OPTIONS: 可选参数,用于指定一些附加选项,比如 -i(交互式)、-t(分配伪终端)等
• CONTAINER: 要执行命令的目标容器名称或容器ID
• COMMAND [ARG…]: 要在容器内执行的命令及其参数
更过使用细节,可通过help命令查看

docker exec --help
标签: ubuntu docker

本文转载自: https://blog.csdn.net/yangda_9527/article/details/140383976
版权归原作者 派的三次方根 所有, 如有侵权,请联系我们删除。

“ubuntu使用docker创建镜像与容器”的评论:

还没有评论