1 首先查看有哪些image以及有哪些container
sudo docker image ls
sudo docker ps -a
2 启动container
2.1 如果你之前没有创建container,则需要基于image新创建一个container
docker run --name=container-mysql8 -p 3307:3306 -td image-mysql8
# 也就是从上面的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.
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
2.2.1 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