Docker的使用要点

Docker的使用要点

1.docker包含三个概念:镜像,容器和仓库。其中仓库可以看作是一个代码控制中心,用来保存镜像。
解释:容器可以看作是一个独立运行的一个应用,是镜像运行的实体。
2. docker允许你在容器内运行应用程序,使用dockers run命令来在容器内运行一个应用程序。

# 实例:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。
runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world"Hello world

3.**重点:**运行交互式的容器
可以通过docker的两个参数 -i和-t使得docker运行的容器实现对话的能力:

# -t的意思是:在新容器中指定一个伪终端和终端,-i的意思是允许你对容器内的标准输入STDIN进行交互。
# 可以使用cat/proc/version和ls查看当前系统的版本以及当前目录夏的文件列表
# 可以使用exit命令或者使用ctrl + D来退出容器
runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
root@0123ce188bd8:/#
  1. 需要确认容器在运行可以使用docker ps命令 ,使用 docker stop 命令来停止容器,在宿主主机内使用 docker logs 命令,查看容器内的标准输出:
    输出详情介绍:CONTAINER ID: 容器 ID。IMAGE: 使用的镜像。COMMAND: 启动容器时运行的命令。CREATED: 容器的创建时间。STATUS: 容器状态。
  2. 重点:docker客户端非常简单,我们可以直接输入docker命令来查看docker客户端的所有命令选项。
  3. 如果本地没有Ubuntu镜像,我们使用docker pull命令来载入ubuntu镜像。
docker pull  ubuntu

以下命令使用docker run -it ubuntu /bin/bash 这个的意思是使用Ubuntu镜像启动一个容器,参数以命令行进入该容器。
7. 删除容器使用docker rm命令
docker container prune 此命令可以清理掉所有处于终止状态的容器
8.可以使用dockers images来列出本地主机上的镜像,使用dockers rmi命令删除镜像

拉取镜像命令:


docker run -itdp 0.0.0.0:32777:22 --name Test -v /home/124/:/home -v /data0/yckj124/:/data0 nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 /bin/bash


docker run -itdP  --name Test -v /home/124/:/home -v /data0/124/:/data0 nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 /bin/bash
# 重点

 docker commit -m "install tensorflow" 0d49b5a5510d 10.128.2.6/qinqin/mmdet-detectron2:v0.6^C # 安装了什么东西后需要提交

docker run -it -P --shm-size 16G --name xiaboqian -v /data/name/:/home 10.128.2.6/name/mmdet-detectron2:v0.5 bash # 运行一个容器 这个直接复制到终端中可能会出现问题,最好自己打一遍

-v /data/1234:/data/1234 绑定文件夹

docker ps -a # 列举所有的容器

docker的使用需要绑定文件夹
共享文件夹

# 下面这个可以使用cuda
docker run -d -P --gpus all --shm-size 16G --name xi1 -v /data/name/:/home 10.128.2.6/detecttry/ssd-mmdet-cuda10.0:v3.2.3 -s /usr/sbin/shhd -D

9.docker exec -it 9446fe01b1b4 bash 进入docker
10. 重点:记得cd 打开挂载的本地虚拟机,这样就实现了文件夹共享,不用来回复制了。比如上面这个,我们cd home就相当于打开了cd data/name/

### 使用鲲鹏DevKit通过Docker进行迁移 对于使用鲲鹏DevKit通过Docker进行应用迁移的过程,主要涉及几个关键步骤和技术要点。首先,理解鲲鹏DevKit的功能及其支持的工具链至关重要。 #### 鲲鹏DevKit简介 鲲鹏DevKit提供了一系列用于软件移植、编译构建以及性能调优的工具集。这些工具旨在帮助开发者更高效地完成基于ARM架构的应用程序开发和优化工作[^3]。 #### 准备环境 为了确保能够在鲲鹏平台上顺利运行应用程序,需要准备适合的开发环境: - 安装并配置好适用于ARM架构版本的操作系统; - 下载安装最新版的鲲鹏DevKit SDK包; - 设置必要的依赖库和支持组件; #### 创建兼容镜像 创建一个与目标平台相匹配的基础Docker镜像是至关重要的一步。这通常意味着要选用官方提供的针对特定硬件架构(如aarch64)定制化的基础映像作为起点,并在其基础上添加所需的额外层来满足具体需求。 ```bash FROM arm64v8/ubuntu:bionic RUN apt-get update && \ apt-get install -y gcc make ... ``` 此脚本展示了如何从Ubuntu Bionic ARM64版本开始建立一个新的Dockerfile,其中包含了基本的C/C++编译器和其他可能必需的工具[^1]。 #### 应用程序适配 接下来是对现有源码做出适当调整以适应新的执行环境。这里可能会涉及到修改Makefiles或其他构建脚本来指定正确的交叉编译选项,同时还要注意处理任何潜在的ABI差异问题。 #### 构建与测试 利用上述准备工作完成后所形成的Docker镜像,在其内部环境中重新编译整个项目,并进行全面的功能性和稳定性验证。如果一切正常,则说明已经成功完成了向鲲鹏平台的成功迁移过程。 #### GitLab CI/CD集成 当考虑自动化部署流程时,可以通过设置GitLab Runner配合dind(docker-in-docker)方式实现持续集成管道内的无缝衔接操作。此时需要注意正确配置`config.toml`文件中的共享卷路径参数,从而允许容器间的数据交换及持久化保存最终制品到宿主机磁盘上[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值