docker rename 原容器名 新容器名 docker tag 41b730702607 opmaster/basic_server:devel //镜像id ,改新镜像名字和标签
////////////////////////////////////////////////////////////
#使docker映射到本机host的GUI口来显示,使用nvidia的GPU来创建容器,并提供交互(-it)的bash,设置数据卷来挂载共享数据,并命名容器名
sudo nvidia-docker run -it \
> -v /tmp/.X11-unix:/tmp/.X11-unix \
> -e DISPLAY=unix$DISPLAY \
> -e GDK_SCALE \
> -e GDK_DPI_SCALE \
> -v /home/csj/Desktop/caffe_docker_mnt/:/home/caffe_docker_mnt \
> --name shijie_caffe_container1 \
> 1febdeef0276 \
> /bin/bash
jupyter notebook --allow-root #使用jupyter notebook
//////////////////////////////////////////////////////////////////////////////////////////////////////////
sudo nvidia-docker start 2806cb9d9633
sudo nvidia-docker exec -it 2806cb9d9633 /bin/bash
sudo nvidia-docker commit 2806cb9d9633 shijie_image:v1 //保存改动的容器到镜像
docker commit -m="First Image" -a="786389209" 7a15f99695c0 786389209/unbantu:17.10.0 #
* -m 提交的描述信息
* -a 指定镜像作者
sudo nvidia-docker save shijie_image:v1 /home/shijie_docker/shijie_image.tar //保存镜像为 .tar 文件到host本地目录
sudo nvidia-docker load -i file-path
#注意load和import命令不同,前者导入镜像到本地镜像仓库,后者只是导入一个快照,退出会回滚原始版本。
rm #删除一个或多个容器
rmi #删除一个或多个镜像
#登录docker并上传镜像
docker login
docker push 786389209/unbantu-test:lastest
三、cmake 的介绍
CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程。CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install)、测试安装的程序是否能正确执行(make test,或者ctest)、生成当前平台的安装包(make package)、生成源码包(make package_source)、产生Dashboard显示数据并上传等高级功能,只要在CMakeLists.txt中简单配置,就可以完成很多复杂的功能,包括写测试用例。如果有嵌套目录,子目录下可以有自己的CMakeLists.txt。总之很强大!
比如Kdevelop中opencv的文件简单的CMakeLists.txt:
cmake_minimum_required(VERSION 2.8) project(opencv) #工程名字 find_package(OpenCV REQUIRED) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") #opencv4必须添加对C++11的支持 add_executable(opencv main.cpp) target_link_libraries(opencv ${OpenCV_LIBS})