1 首先查看有哪些image以及有哪些container

sudo docker image ls# 结果
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
currycode/tf_serving_vc   v1.0                26fdfe329859        2 months ago        3.85GB
currycode/tf_serving_vc   1.0                 d6957b0caf48        2 months ago        3.79GB
ubuntu                    18.04               93fd78260bd1        3 months ago        86.2MB
tensorflow/serving        latest              d42952c6f8a6        4 months ago        230MB
hello-world               latest              4ab4c602aa5e        6 months ago        1.84kB
sudo docker ps -a# 结果
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                      PORTS               NAMES
2effa7569ce3        currycode/tf_serving_vc:1.0   "/bin/bash"              2 months ago        Exited (0) 7 weeks ago                          tf_container_vc
a01e03520497        tensorflow/serving            "/usr/bin/tf_serving…"   2 months ago        Exited (137) 2 months ago                       determined_morse
ea05fb751b1a        hello-world                   "/hello"                 2 months ago        Exited (0) 2 months ago                         dazzling_kirch

2 启动container

2.1  如果你之前没有创建container,则需要基于image新创建一个container

docker run --name=tf_container_ASR -p 9001:9001 -p 9002:9002 -td currycode/tf_serving:v0330
# 也就是从上面的currycode/tf_serving_vc镜像中启动一个container
# i表示获得一个交互式的连接,通过 standard in (STDIN)获取container的输入,也就是让容器的标准输入保持打开。d表示后台运行A
# t表示让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
# 如果想指定端口和ip映射关系,可以使用-p参数(选项指定Host:Container之间的端口映射关系),默认映射到'172.17.0.2:9000'# docker run: runs a container.
# tf_container_vc2: 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.

创建成功后会进入container的终端(因为-it参数)

参考:

http://www.runoob.com/docker/docker-image-usage.html

https://docs.docker.com/engine/reference/commandline/run/

https://blog.csdn.net/dongdong9223/article/details/52998375

https://blog.csdn.net/Yushl_sirius/article/details/76619792

2.2 如果你之前已经创建过container(比如上面docker ps 命令中显示有三个container),则可以直接启动container,不需要从image创建一个新的container了

docker start -i tf_container_vc# -i表示Attach container’s STDIN
# 成功后如下面第二行所显示会直接进入container的终端
[currycode@mjrc-server11 ~]$ sudo docker start -i tf_container_vc
root@2effa7569ce3:/tensorflow-serving# 如果使用docker start tf_container_vc 则是在后台运行container
[currycode@mjrc-server11 ~]$ sudo docker start tf_container_vc
tf_container_vc
[currycode@mjrc-server11 ~]$ sudo docker stop tf_container_vc
tf_container_vc

参考:

https://docs.docker.com/engine/reference/commandline/start/

http://www.runoob.com/docker/docker-start-stop-restart-command.html

如果container此时运行在后台(没有使用-i参数),那么需要使用docker attach命令或者docker exec命令进入 他的终端

2.2.1 docker attach

[currycode@mjrc-server11 ~]$ sudo docker attach tf_container_vc
root@2effa7569ce3:/tensorflow-serving#

但是attach方法有个缺点,exit后container也跟着退出了

root@2effa7569ce3:/tensorflow-serving# exit
exit
[currycode@mjrc-server11 ~]$ sudo docker ps -a
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                      PORTS               NAMES
2effa7569ce3        currycode/tf_serving_vc:1.0   "/bin/bash"              2 months ago        Exited (0) 3 seconds ago                        tf_container_vc
a01e03520497        tensorflow/serving            "/usr/bin/tf_serving…"   2 months ago        Exited (137) 2 months ago                       determined_morse
ea05fb751b1a        hello-world                   "/hello"                 2 months ago        Exited (0) 2 months ago                         dazzling_kirch

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

2.2.2 docker exec

[currycode@mjrc-server11 ~]$ sudo docker exec -it tf_container_vc /bin/bash
root@2effa7569ce3:/tensorflow-serving# # tf_container_vc :要启动的container的名称
# /bin/bash:在container中启动一个bash shell

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

root@2effa7569ce3:/tensorflow-serving# exit
exit
[currycode@mjrc-server11 ~]$ sudo docker ps -a
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                      PORTS               NAMES
2effa7569ce3        currycode/tf_serving_vc:1.0   "/bin/bash"              2 months ago        Up 4 minutes                                    tf_container_vc
a01e03520497        tensorflow/serving            "/usr/bin/tf_serving…"   2 months ago        Exited (137) 2 months ago                       determined_morse
ea05fb751b1a        hello-world                   "/hello"                 2 months ago        Exited (0) 2 months ago                         dazzling_kirch

参考:

https://www.ibm.com/developerworks/community/blogs/132cfa78-44b0-4376-85d0-d3096cd30d3f/entry/%E4%B8%A4%E7%A7%8D%E8%BF%9B%E5%85%A5%E5%AE%B9%E5%99%A8%E7%9A%84%E6%96%B9%E6%B3%95_%E6%AF%8F%E5%A4%A95%E5%88%86%E9%92%9F%E7%8E%A9%E8%BD%AC_Docker_%E5%AE%B9%E5%99%A8%E6%8A%80%E6%9C%AF_23?lang=en

https://blog.csdn.net/dt763C/article/details/82719332

最后查看container IP address:

[currycode@mjrc-server11 ~]$ sudo docker network inspect bridge | grep IPv4Address"IPv4Address": "172.17.0.2/16",

其他方法:

[currycode@mjrc-server11 ~]$ sudo docker exec -it tf_container_vc  ip addr | grep global
[currycode@mjrc-server11 ~]$ sudo docker port tf_container_vc

当对container进行了一下修改后,想要永久保存这些修改,需要使用docker commit命令:

[currycode@mjrc-server11 ~]$ sudo docker commit 2effa7569ce3 currycode/tf_serving_vc:v2.0
sha256:90a90c637f62a6819e14f3e6c256926921d4d6f661d941d114d7990b3473c231
[currycode@mjrc-server11 ~]$ sudo docker ps -a
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                      PORTS               NAMES
2effa7569ce3        currycode/tf_serving_vc:1.0   "/bin/bash"              2 months ago        Up 10 hours                                     tf_container_vc
a01e03520497        tensorflow/serving            "/usr/bin/tf_serving…"   2 months ago        Exited (137) 2 months ago                       determined_morse
ea05fb751b1a        hello-world                   "/hello"                 2 months ago        Exited (0) 2 months ago                         dazzling_kirch
[currycode@mjrc-server11 ~]$ sudo docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
currycode/tf_serving_vc   v2.0                90a90c637f62        11 seconds ago      4GB
currycode/tf_serving_vc   v1.0                26fdfe329859        2 months ago        3.85GB
currycode/tf_serving_vc   1.0                 d6957b0caf48        2 months ago        3.79GB
ubuntu                    18.04               93fd78260bd1        3 months ago        86.2MB
tensorflow/serving        latest              d42952c6f8a6        4 months ago        230MB
hello-world               latest              4ab4c602aa5e        6 months ago        1.84kB

参考:

http://www.runoob.com/docker/docker-commit-command.html

删除docker的image(在此之前需要先删除依赖他的所有container):http://yaxin-cn.github.io/Docker/how-to-delete-a-docker-image.html

[docker] 启动docker的container(或者说image的实例)相关推荐

  1. docker 启动容器报错及解决办法

    docker 启动容器报错:Error response from daemon: oci runtime error: container_linux.go:247: starting contai ...

  2. docker启动服务命令

    安装完成后docker,执行命令 docker ps 遇到如下错我] Cannot connect to the Docker daemon. Is the docker daemon running ...

  3. 记录Docker in Docker 安装(CentOS7)

    主机系统: CoreOS iZwz9id7ajv83ikpa2hhn2Z ~ # cat /etc/os-release NAME="Container Linux by CoreOS&qu ...

  4. Docker(一) docker简介安装以及下载运行第一个镜像

    一.什么是Docker docker简介: docker是一个开源的应用容器引擎,基于go语言,遵从apache2.0协议开源.通过docker让开发者可以打包他们的应用以及依赖到一个可移植的镜像中, ...

  5. 【Docker】Docker进阶(二)

    Docker进阶 三.Docker发布微服务 四.Docker网络 4.1.Docker 网卡 4.2.docker网络命令 4.3.Docker 网络模式 4.3.1.bridge模式 4.3.2. ...

  6. Docker之Docker介绍及安装配置

    为什么Docker? 引用官方定义:Docker是以Docker容器为资源分割和调度的基本单位,封住整个软件运行时环境,为开发者和系统管理员设计的,用于构建.发布和运行分布式应用的平台.他是一个跨平台 ...

  7. 【Docker】Docker的安装及配置

    0.安装Docker Docker 分为 CE 和 EE 两大版本.CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月. Docker CE 分为 s ...

  8. 【docker】docker的安装教程

    官网地址:Home - Docker 公共仓库:Docker Hub 安装文档:Get Docker | Docker Documentation 安装docker之前首先要选择我们需要安装docke ...

  9. Docker启动MySql时Exited (1) 8 seconds ago或者Error response from daemon: Container xx is not running的解决方法

    本人小白,跟着老师学习<谷粒商城>过程中遇到这个问题,具体原理我也不清楚,多方搜索,以下方案可以解决该问题. 问题1:找的网图 或者出现以下情况: 问题2: 当修改好配置后,重启mysql ...

最新文章

  1. DevOps笔记-02:DevOps与微服务之间是什么关系?
  2. ROS系统实现 tf坐标系广播与监听
  3. python调用什么函数实现对文件内容的读取_Python 文件读取函数 read(), readline(), readlines()...
  4. java多线程---比较全的
  5. 基于XGBoost的PU-Learning
  6. 对勾函数_对勾函数?2020福建省中考压轴题分析
  7. VS2008水晶报表发布部署总结
  8. linux getline函数用法,get()与getline()
  9. python全栈学习路线-查询笔记
  10. 2012.5.4号--关于125k(简易读卡和低频唤醒)
  11. 2022年最新广东道路运输安全员真题题库及答案
  12. 八段数码管数字显示实验c语言,八段数码管显示实验.doc
  13. VC++ 扫雷游戏的界面框架(“雷”按钮),不得不佩服那些码农
  14. Oracle期末复习1
  15. 数据分析与Excel(二)
  16. 三大移动平台概览:移动游戏开发者生存必读
  17. linux系统上ros安装,Ubuntu中安装ROS Kinetic
  18. p50, p90, p99 (pct 50, pct 90, pct 99)指什么?
  19. 地图四染色问题——栈的回溯
  20. java实现在图片上插入文字并保存。

热门文章

  1. java异或什么意思_java基础知识,数据类型,运算符(003)
  2. hbuliderX语法插件助手下载失败
  3. 格式%m.nf的含义
  4. 性能测试:从奥运门票系统崩溃想到的
  5. 【论文】期刊和会议如何查询、期刊级别分类和顶会概念一文精析
  6. BUUCTF [GXYCTF2019]Ping Ping Ping easywill
  7. 2017 ACM/ICPC Asia Regional Shenyang Online Ping Ping Ping 树链剖分+树状数组
  8. C++ 函数指针和函数类型
  9. nvm切换node失败,原因:网速慢文件下载不全,使用淘宝镜像加速下载
  10. 【2017年11月27日】CSDN博客更新周报