北京地铁建设的官方网站,wordpress zip格式,php网站开发职位,微信推广联盟1、根据已有镜像images创建容器
1.1、查看镜像
如果是接手的别人的项目#xff0c;需要从以往的images镜像中创建新容器#xff0c;使用命令查看当前机器上的docker镜像#xff1a;
docker images1.2、创建容器
使用docker run 根据images镜像名创建容器#xff0c;命令…1、根据已有镜像images创建容器
1.1、查看镜像
如果是接手的别人的项目需要从以往的images镜像中创建新容器使用命令查看当前机器上的docker镜像
docker images1.2、创建容器
使用docker run 根据images镜像名创建容器命令
docker run --name zdqm -d -p 8005:8001 -w /cytech_ai/app/ModelServer/ --env LANGC.UTF-8 --gpus all cytech_ai_zd:1.0.4参数解释如下 –name zdqm创建的一个新容器名称为zdqm -d, --detachfalse 指定容器运行于前台还是后台默认为false -p 8005:8001端口映射外部端口为8005docker容器内部的端口为8001如果外部需要访问要使用8005去访问也可以写成一样的8001:8001这样就直接对应上。 -w /cytech_ai/app/ModelServer/–workdir“” 指定容器的工作目录也就是进入docker之后默认的当前路径 –env LANGC.UTF-8表示环境 –gpus all表示使用gpu cytech_ai_zd:1.0.4docker images中的镜像名称
2、使用外部镜像创建容器
2.1、从Docker仓库中拉取镜像
以最小的linux系统busybox为例使用命令
docker pull busybox:latest从docker hub官方镜像仓库获取一个为busybox的镜像latest表示最新版并pull下载到宿主机上。
docker镜像仓库还有很多例如ubuntu:latest拉取一个最新的ubuntu系统镜像
2.2、创建容器
创建容器的方法和1.2类似了参数也是一样的
docker run --name busyboxenv busybox:latest或者按照上面的创建方式
docker run --name zdqm -d -p 8005:8001 -w /cytech_ai/app/ModelServer/ --env LANGC.UTF-8 --gpus all busybox:latest3、启动容器
3.1、查看创建的容器
使用命令
docker ps -a3.2、启动容器
使用命令
docker exec -it 9742b17eeea7 /bin/bash4、本地磁盘映射
在创建docker容器时使用docker run时加入参数-v,命令
docker run --name rknntestsiping -it --privileged -v /cytech_ai/:/cytech_ai/ 4c873a65d2b1 /bin/bash即
docker run --name zdqm -d -p 8005:8001 -w /cytech_ai/app/ModelServer/ -v /cytech_ai/:/cytech_ai/ --env LANGC.UTF-8 --gpus all cytech_ai_zd:1.0.5这样宿主机的cytech_ai文件夹的所有文件可以在docker容器中对应的cytech_ai文件夹中访问到。
5、docker文件拷贝
5.1、同一台机器中docker容器内部文件拷贝到外部宿主机
在docker容器外即宿主机终端使用docker cp命令 即
docker cp 容器id:容器内部文件路径 宿主机外部路径例如在上面的9742b17eeea7容器中将cytech_ai/app/test.py文件拷贝到外部宿主机的/home/code/下
docker cp 9742b17eeea7:cytech_ai/app/test.py /home/code/5.2、同一台机器中外部宿主机文件拷贝到docker容器内
在docker容器外即宿主机终端使用docker cp命令 即
docker cp 宿主机外部路径 容器id:容器内部文件路径 例如将宿主机中/home/code//test.py文件拷贝到9742b17eeea7容器的cytech_ai/app/下
docker cp /home/code/test.py 9742b17eeea7:cytech_ai/app/6、打包镜像
当算法开发完成后我们的docker容器可能会发到其他现场的计算机上进行部署因此需要打包docker容器为一个images镜像发布。
6.1、镜像提交 commit
先将容器提交为一个镜像images例如前面我根据images创建了一个cytech_ai_zd:1.0.4的容器修改了代码后提交一个新的版本镜像为1.0.5
docker commit 容器id 容器新名称命令
docker commit 9742b17eeea7 cytech_ai_zd:1.0.5将9742b17eeea7 这个容器提交到镜像镜像名为cytech_ai_zd:1.0.5
6.2、打包镜像
使用docker save命令
docker save -o 新镜像名称.tar 新容器名称在宿主机终端上选择一个文件目录使用docker save将images打包为tar后会在当前路径下生成一个文件
docker save -o cytech_ai_zd-1.0.5.tar cytech_ai_zd:1.0.5等待打包完成后即可发布到另外一台机器部署使用。
7、加载镜像
在新的服务器终端使用
docker load -i 镜像包名称例如
docker load -i cytech_ai_zd-1.0.5.tar加载完成后使用docker images查看images是否加载成功找得到这个images就可以开始部署使用了步骤转到第一步即可。
8、其他问题
1、docker创建容器后容器自动关闭问题 原因分析 docker容器运行必须有一个前台进程 如果没有前台进程执行容器认为空闲就会自行退出。 容器运行的命令如果不是那些一直挂起的命令 运行toptail、循环等就是会自动退出 解决方案 在最后加上/bin/bash就可以了。例如在上面的基础上。 docker run -it -P --name“容器名” [镜像名] /bin/bash docker run -dit centos /bin/bash
或者使用docker exec
docker exec -it 9742b17eeea7 /bin/bash