菜鸟博客
菜鸟站长

Docker 的一些命令

docker 进入退出命令

1 启动docker服务

service docker start
或者:
systemctl start docker

2 关闭docker服务

service docker stop
或者:
systemctl stop docker

3 启动docker某个image(镜像)的container(容器)
Docker的镜像称为image,容器称为container。

对于Docker来说,image是静态的,类似于操作系统快照,而container则是动态的,是image的运行实例。

比如,有一个image名称为ubuntu,那么比如现在我们启动这个image的container并且进入到这个container的bash命令行中:

docker run -t -i ubuntu /bin/bash

官网是这么说的:

  • docker run: runs a container.
  • ubuntu: is the image you would like to run.
  • -t: flag assigns a pseudo-tty or terminal inside the new container.
  • -i: flag allows you to make an interactive connection by grabbing the standard in (STDIN) of the container.
  • /bin/bash: launches a Bash shell inside our container.

理解很简单:

  • docker run:启动container
  • ubuntu:你想要启动的image
  • -t:进入终端
  • -i:获得一个交互式的连接,通过获取container的输入
  • /bin/bash:在container中启动一个bash shell

如果有运行中的container,可以在container所在的外部操作系统中运行:

docker ps

查看到这个container。

如果想看到所有的container,包括运行中的,以及未运行的或者说是沉睡镜像,则运行:

docker ps -a

如果要退出就:

Ctrl + D
或:
exit

如果想再次打开这个container,运行:

docker start goofy_almeida

其中“goofy_almeida”是容器的名称。

4 进入container(容器)
4.1 使用“docker attach”命令进入
这个时候container运行在后台,如果想进入它的终端,则:

docker attach goofy_almeida

就可以了。

4.2 使用“docker exec -it”命令进入
使用“docker attach”命令进入container(容器)有一个缺点,那就是每次从container中退出到前台时,container也跟着退出了。

要想退出container时,让container仍然在后台运行着,可以使用“docker exec -it”命令。每次使用这个命令进入container,当退出container后,container仍然在后台运行,命令使用方法如下:

docker exec -it goofy_almeida /bin/bash

goofy_almeida:要启动的container的名称

/bin/bash:在container中启动一个bash shell

这样输入“exit”或者按键“Ctrl + C”退出container时,这个container仍然在后台运行,通过:

docker ps

就可以查找到。

5 退出container
输入:

exit

或者按键:

Ctrl + D

tensorflow之前的一些笔记:

启用docker命令

nvidia-docker run --rm -it nvcr.io/nvidia/tensorflow:19.09-py3

拷贝文件命令

复制宿主机文件夹到docker中(项目)

docker cp /root/keras-yolo3-master-docker/ cranky_mendeleev:/workspace/keras-yolo3-master-docker/ 

拷贝图片

cd /workspace/keras-yolo3-master-docker/VOCdevkit/VOC2007
rm -rf Annotations/*
rm -rf JPEGImages/*
docker cp /root/Annotations/ cranky_mendeleev:/workspace/keras-yolo3-master-docker/VOCdevkit/VOC2007/
docker cp /root/JPEGImages/ cranky_mendeleev:/workspace/keras-yolo3-master-docker/VOCdevkit/VOC2007/

复制docker生成的模型文件到宿主机中

docker cp cranky_mendeleev:/workspace/keras-yolo3-master-docker/model_data/logs/trained_weights_final.h5  /root/trained_weights_final.h5

docker cp cranky_mendeleev:/workspace/keras-yolo3-master-docker/model_data/logs/trained_weights_final.h5  /root/trained_weights_final.h5


docker cp cranky_mendeleev:/workspace/keras-yolo3-master-docker/VOCdevkit/VOC2007/ImageSets/Main/train.txt /root/train.txt


/workspace/keras-yolo3-master-docker

提交docker
登录

sudo docker login -u 账号 -p 密码 -e 邮箱

提交docker

docker commit cranky_mendeleev 用户名/仓库:tensorflow_gpu

返回的ID:sha256:3ffae41951e8716a0126575f6******434******05688f731a05ce
push到线上

docker push 用户名/仓库:tensorflow_gpu
赞(0)
未经允许不得转载:不吃香菜 » Docker 的一些命令

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址