上一篇我们简单说明了docker的常用操作命令,下面来说说docker是如何操作一个镜像的,以及镜像交互的基本命令,

1、按照之前所说,远程下载一个镜像,这里从dockerhub上下载一个centos的镜像,

docker pull centos

2、docker如何启动一个镜像呢?我们使用的镜像的目的就是因为镜像像一个完全封装好的软件,开箱即用是镜像的设计目的,所以拿到镜像就会想着怎么运行起来,docker启动的方式有多种,主要是以参数的方式启动,最基本的命令:

docker run 镜像名[或镜像ID]

启动的参数做如下基本说明

OPTION说明
–name = “容器的新名称” ,即启动的时候为容器指定一个新的名称,如果不指定,docker随机分配
-d:以后台方式运行容器,返回容器ID,即以守护进程方式启动
-it,通常这两个参数一起使用,即以交互式方式启动一个带有伪终端模式的容器
-P:随机端口映射
-p:指定端口映射 ,在实际应用中,可能出现端口占用的情况,可以通过自己指定端口号来做到端口的灵活配置

下面我们以一个交互式的方式启动刚刚下载的centos,

docker run -it centos:latest

重新开启一个终端,通过命令,docker ps可以查看正在运行的所有容器,

上述启动后,我们相当于是从docker上启动了一个centos并进入到centos容器里面了,通过前面的容器ID也可以看出来,大家可以使用linux命令操作一下即可验证

3、容器退出和关闭,

exit  退出并停止当前容器的进程
CTRL+P+Q  退出但容器依然在运行

下面我们来试试上述两个命令,直接exit,这里相当于是杀掉了这个容器

再试一下快捷键CTRL+P+Q,这时centos容器依然是运行着的,即进程还在,


这样的情况下,我们还想继续杀掉某个容器怎么办,还可以通过下面这个命令进行关闭,这种关闭属于优雅的关闭,当然某些情况下需要强制关闭,可以使用 docker kill 容器ID,大家可以自己尝试,
docker stop 容器ID

如果是以 CTRL+P+Q的方式退出来了,如果想要继续进入容器怎么办了?执行命令:

docker attach 容器ID

当然,如果直接是以exit的方式退出的,如果要重新启动容器,可以不需要使用docker run的方式,还可以使用如下命令重新启动,

docker start  【容器ID或容器名称】
docker restart 【容器ID或容器名称】


可以看到通过这种方式也可以达到再次启动容器的目的

5、以特定的端口号启动容器,比如我们通过docker运行tomcat,但在实际业务场景中,8080端口可能被其他应用占用了,那么在通过docker启动tomcat时可以指定其他的端口号,即在上文提到到 -p 参数,比如这里有一个tomcat8,我们想再外网以8082端口进行映射访问如何启动呢

启动命令:

docker run -it -p 8082:8080 tomcat:8

启动成功后关闭防火墙,浏览器输入IP+8082,可以成功访问tomcat

6、commit镜像,在某些场景下,我们需要将自己的镜像进行打包制作成新的镜像,或者在原本的镜像上做了更改添加了自己的东西,为了以后方便自己使用和维护,可以使用commit命令完成,如下,例如,我们将tomcat8这个镜像重新制作成一个新的镜像,

docker commit -a="zcy" -m="my own tomcat"  镜像ID  新的镜像名字

制作完毕,通过docker images 可以看到自己制作的镜像

docker启动停止操作命令相关推荐

  1. docker 启动 停止容器

    1.关闭和启动container 1.关闭正在运行的容器 docker container stop CONTAINER ID 2.启动关闭的容器 docker container start CON ...

  2. linux redhat、ubuntu系统 docker启动、停止命令

    redhat操作系统: docker启动命令 sudo systemctl start docker 守护进程重启 sudo systemctl daemon-reload 重启docker服务 su ...

  3. 登陆mysql服务器命令_Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)...

    Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境) 1.  启动MySQL服务 启动MySQL服务的命令为: 命令执行后如图7-5所示,表示启动MySQL服务成功. 也 ...

  4. docker 安装 启动停止 重启 自动安装

    看完记得收藏/点赞/关注 三连一波谢谢 创建文件 docker-install vim  docker-install.sh 输入内容 yum install docker systemctl sta ...

  5. Docker 启动 nacos

    单机模式 拉取镜像 docker pull nacos/nacos-server 启动 docker run --name nacos-standalone -e MODE=standalone -p ...

  6. docker启动顺序

    VMDocker: 用户名:root 密码:XXXXXXXXXXXXX docker run -i -t -d -p 8081:8080 -p 23:22 67591570dd29  /bin/bas ...

  7. Docker的基本操作命令

    1.下载centos images [root@admin01 ~]# docker pull centos 2.查看镜像 [root@admin01 ~]# docker images REPOSI ...

  8. docker启动失败问题之/var/lib/docker/overlay

    最近在工作中遇到了服务器无法进入docker容器的问题,提示no space left on device 问题现象 从提示上看,是没有磁盘空间了.于是乎想当然觉得可能是服务器上有些什么缓存之类的,重 ...

  9. docker启动mysql闪退问题

    docker启动mysql闪退问题 一.常见原因: 1.启动时未使用 -d 参数 该参数表明以守护进程的方式启动mysql,否则由于没有前台应用,启动的mysql进程会立即自杀,导致闪退: 2.未开启 ...

最新文章

  1. Codeforces Beta Round #2 B. The least round way
  2. iOS:自己写的一个星级评价的小Demo
  3. C语言再学习 -- 位操作
  4. javascript 常用类
  5. 一个form 如何做两次提交_如何做一个自信魅力的女人
  6. strtus2 与springmvc
  7. linux文件系统变为只读的修复
  8. es文件浏览器访问win10局域网共享文件能看见共享文件夹但是点击文件夹无反应
  9. 机器人学基础–左乘和右乘
  10. promise执行顺序总结
  11. TensorFlow ERROR:Resource temporarily unavailable
  12. PAT 甲级 图形输出 1031 Hello World for U (20 分)
  13. 墨刀的html压缩包是什么,墨刀那些事
  14. js根据生日输出对应的生肖和星座
  15. 利用电子邮件“钓鱼”的常见手段
  16. Linux服务篇--openssh服务
  17. c++ 编译 报错 未定义的引用
  18. some 和 every的区别和用法
  19. 何勉:第一性原理和精益敏捷的规模化实施
  20. 企业shell编程基础问题解决实践-是骡子是马溜溜

热门文章

  1. TTF 自己文件编辑与制作
  2. 黄聪:Python中的__metaclass__=type什么意思?
  3. 虚拟化部署之创建Hyper-V虚拟硬盘
  4. 保持windows2003域控制器的安全
  5. Windows server 2008 R2 个人使用修改==转载+原创
  6. 程序清单4.1_talkback.c程序_《C Primer Plus》P60
  7. Oracle - 安装 Oracle Database 11g Release 2
  8. 《JAVA与模式》之装修者模式
  9. PHP实现对MongoDB的基础操作
  10. 【360开源】Quicksql——更简单,更安全,更快速的跨数据源统一SQL查询引擎