常用Docker容器操作命令
!!!!有镜像才能创建容器!!!!!,记下来,要考的!!!
讲容器操作命令之前先下载一个centos的镜像(这个命令在上篇《常用Docker镜像操作命令》中有,不会的同学可以去看下)
//首先查一下centos
[root@iz2ze0lvzs71710m0jegmsz ~]# docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 5627 [OK]
ansible/centos7-ansible Ansible on Centos7 125 [OK]
jdeathe/centos-ssh OpenSSH / Supervisor / EPEL/IUS/SCL Repos - … 114 [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC session… 99 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 63
imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 57 [OK]
tutum/centos Simple CentOS docker image with SSH access 44
centos/postgresql-96-centos7 PostgreSQL is an advanced Object-Relational … 39
kinogmt/centos-ssh CentOS with SSH 29 [OK]
centos/httpd-24-centos7 Platform for running Apache httpd 2.4 or bui… 26
pivotaldata/centos-gpdb-dev CentOS image for GPDB development. Tag names… 10
guyton/centos6 From official centos6 container with full up… 9 [OK]
drecom/centos-ruby centos ruby 6 [OK]
centos/tools Docker image that has systems administration… 4 [OK]
darksheer/centos Base Centos Image -- Updated hourly 3 [OK]
pivotaldata/centos Base centos, freshened up a little with a Do… 3
mamohr/centos-java Oracle Java 8 Docker image based on Centos 7 3 [OK]
miko2u/centos6 CentOS6 日本語環境 2 [OK]
pivotaldata/centos-mingw Using the mingw toolchain to cross-compile t… 2
pivotaldata/centos-gcc-toolchain CentOS with a toolchain, but unaffiliated wi… 2
indigo/centos-maven Vanilla CentOS 7 with Oracle Java Developmen… 1 [OK]
blacklabelops/centos CentOS Base Image! Built and Updates Daily! 1 [OK]
pivotaldata/centos7-dev CentosOS 7 image for GPDB development 0
smartentry/centos centos with smartentry 0 [OK]
pivotaldata/centos6.8-dev CentosOS 6.8 image for GPDB development 0
//选择你要的镜像和该镜像版本(不写版本默认是last),把他pull下来(我之前下过了)
[root@iz2ze0lvzs71710m0jegmsz ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
729ec3a6ada3: Already exists
Digest: sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
//查看一下本地的镜像
[root@iz2ze0lvzs71710m0jegmsz ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
xiaowang/mytomcat 1.2 49733849ab9f 18 hours ago 507MB
mongo latest 191b28dbfefe 28 hours ago 363MB
tomcat latest 882487b8be1d 6 days ago 507MB
centos latest 0f3e07c0138f 3 weeks ago 220MB
hello-world latest fce289e99eb9 9 months ago 1.84kB
一、新建并启动容器的命令
语法及常用参数:
docker run [OPTIONS] IMAGE(可以是镜像的image id 也可以是镜像的REPOSITORY) [COMMAND]
OPTIONS说明(常用):有些是一个减号,有些是两个减号
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
举个例子:
//启动一个容器 这个容器里面运行的是centos系统
#docker run -it centos
//使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
#docker run -it centos /bin/bash
//使用镜像tomcat:latest以交互模式启动一个容器,主机端口7777,docker容器端口8080(这时候可以直接访问localhost:7777就可以进入tomcat主页啦)
#docker run -it -p 7777:8080 tomcat
二、列出当前所有正在运行的容器
语法及常用参数:
docker ps [OPTIONS]
OPTIONS说明(常用):
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
--no-trunc :不截断输出。
三、退出容器
两种退出方式:
exit 容器停止并退出(自己操作一下:交互模式创建一个centos容器,然后输入exit,再docker ps一下)
ctrl+p+q容器不停止退出(自己操作一下:交互模式创建一个centos容器,然后按ctrl+p+q,再docker ps一下)
四、启动容器
docker start 容器ID或者容器名
五、重启容器
docker restart 容器ID或者容器名
六、停止容器
docker stop 容器ID或者容器名
七、强制停止容器
docker kill 容器ID或者容器名
八、删除已停止的容器
docker rm -f ${docker ps -a -q}
docker ps -a -q | xargs docker rm
重点内容:
1.启动守护式容器:docker run -d 容器名
//使用镜像centos:latest以后台模式启动一个容器
#docker run -d centos
//然后docker ps -a 进行查看, 会发现容器已经退出
#docker ps -a
所以总结一下:
很Docker容器后台运行,就必须有一个前台进程.
容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。
这个是docker的机制问题,比如你的web容器,我们以nginx为例,正常情况下,我们配置启动服务只需要启动响应的service即可。
例如service nginx start
但是,这样做,nginx为后台进程模式运行,就导致docker前台没有运行的应用,
这样的容器后台启动后,会立即自杀因为他觉得他没事可做了,
所以,最佳的解决方案是,将你要运行的程序以前台进程的形式运行。
2.查看容器日志:docker logs -f -t --tail 容器ID
-t 是加入时间戳
-f 是随最新的日志打印
--tail 数字显示最后多少条
3.查看容器内运行的进程
docker top 容器ID
4.查看容器内部细节
docker inspect 容器ID
5.进入正在运行的容器并以命令行交互(重点,记得敲一下)
docker exec -it 容器ID bashShell
[root@iz2ze0lvzs71710m0jegmsz ~]# docker exec -it 0a6da2eccfb4 ls -l /tmp
total 8
-rwx------ 1 root root 1379 Sep 27 17:13 ks-script-0n44nrd1
-rwx------ 1 root root 671 Sep 27 17:13 ks-script-w6m6m_20
重新进入: docker attach 容器ID
上述两个的区别:attach--->直接进入容器启动命令的终端。不会启动新的进程
:exec---->是在容器中打开新的终端,并可以启动新的进程
6.从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 目的主机路径
[root@iz2ze0lvzs71710m0jegmsz ~]# docker cp 0a6da2eccfb4:/root/test.txt /root/o.txt

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
VLOOK V9.2 发布:Markdown 编辑器 Typora 的增强插件
VLOOK™ 是针对由Typora(目前最好的跨平台 Markdown 编辑器,没有之一)导出的 HTML 文件进行增强的插件。VLOOK™ 为开源软件,遵从 MIT 许可证。 VLOOK 插件主要包括: 排版增强:针对 Typora 编辑模式,以及导出的 HTML 文件增加更实用、美观的文档排版与样式; 功能增强:针对导出的 HTML 文件提供文档导航、评审演示、插图浏览、内容交互、信息缺失检测等功能。 有关 VLOOK 特性的详细介绍、样例及使用说明详见《VLOOK 快速参考手册》 有关脚本化图表的详细介绍、样例及使用说明详见《脚本化图表 for Markdown》 主题样式 针对 VLOOK 内置多套优化的主题样式(在导出 HTML 通过 Typora 的「主题」菜单选择名称以 VLOOK 打头的主题); Hope 海洋之心:预览 > Joint 榫卯:预览 > Geek 极邃:预览 > Fancy 慕幻:预览 > 所有主题的文档导出为 HTML 后,都支持Light (明亮)与Dark (黑暗)模式。 目前发布了 9.2 版本,此版本更新内容: 新增 重构了 Dark Mode...
-
下一篇
Docker命令小总结
attach Attach to a running container # 当前 shell 下 attach 连接指定运行镜像 build Build an image from a Dockerfile # 通过 Dockerfile 定制镜像 commit Create a new image from a container changes # 提交当前容器为新的镜像 cp Copy files/folders from the containers filesystem to the host path #从容器中拷贝指定文件或者目录到宿主机中 create Create a new container # 创建一个新的容器,同 run,但不启动容器 diff Inspect changes on a container's filesystem # 查看 docker 容器变化 events Get real time events from the server # 从 docker 服务获取容器实时事件 exec Run a command in an existin...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- 设置Eclipse缩进为4个空格,增强代码规范
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2更换Tomcat为Jetty,小型站点的福音