七.Docker容器
容器是Docker核心概念
简单的说,容器是独立运行的一个或一组应用,以及它们的运行环境
对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和运行在上面的应用
7.1查看容器状态
docker ps //查看运行的容器docker ps -a //查看所有的容器(包含运行和退出)docker container lsdocker container ls-a
7.2Docker启动容器
启动容器有二种方式,一种是基于镜像新建一个容器并启动,一种是将在终止状态(stopped)的容器重新启动
docker run 参数 镜像名称:tag 执行的命令
常用的参数:
-i保持和docker容器内的交互,启动容器时,运行的命令结束后,容器依然存活,没有退出(默认是会退出,即停止的)-t 为容器的标准输入虚拟一个tty-d 后台运行容器--rm 容器在启动后,执行完成命令或程序后就销毁--name 给容器起一个自定义名称-p 宿主机:内部端口
练习1:
docker 方式完整的启动tomcat服务器
docker run --rm -d --name tomcat1 -p 8080:8080 tomcat
举例说明
创建一个新的容器并启动tomcat,按ctrl+c
退出
docker run tomcat
删除容器
docker rm 容器ID//docker rmi是删除镜像,这里是删除容器
7.3查看正在运行的容器
docker ps
7.4查看所有容器
docker ps -a
7.5停止容器
通过docker ps 找到容器id
docker stop 容器id //停止正在运行容器(或Ctrl+c)docker container stop tomcat1 //停止整运行容器(ID或Names)
7.6启动已终止容器
通过docker ps找到容器id
docker start 容器名/容器 ID
7.7重启已关闭容器
docker restart 容器ID //启动容器(根据ID或NAMES)
7.8删除容器(删除容器前,该容器应该是停止(关闭))
docker rm 容器IDdocker rm $(docker ps -a -q)删掉所有的容器
7.9Docker守护态运行
需要让Docker在后台运行而不是直接把执行命令的结果输出在当前宿主机下。此时,可以通过添加-d参数来实现
7.10Docker进入容器
某些时候需要进入容器进行操作,使用docker exec命令
-i -t 参数
docker exec后边可以跟多个参数,这里主要说明-i -t参数
只用-i参数时,由于没有分配伪终端,界面没有我们熟悉的Liunx命令提示符,但命令执行结果仍然可以返回
当-i -t参数一起使用时,则可以看到我们熟悉的Liunx命令提示符
docker exec -it 容器ID(Names)bash
示例
:
进入容器,对默认的tomcat进行页面修改,然后再访问查看效果
注意默认容器内liunx包是最小安装,只拥有最基本的命令 exit,不会导致容器的停止
docker exec -it tomcat1 bash //进入容器名称叫tomcat1echo 'qfnj-weixin'>>index.jsp //对容器内的index.jsp进行字符串追加
7.11在宿主机和容器之间交换文件
在宿主机和容器之间相互COPY文件 cp的用法如下
docker cp [OPTIONS] CONTAINER:PATH LOCALPATH//容器中 复制到 宿主机docker cp [OPTIONS] LOCALPATH| - CONTAINER:PATH //宿主机 复制到 容器中
宿主机复制一个图片到容器中:将png图片复制到了容器指定目录下docker cp test.png tomcat2:/usr/local/tomcat/webapps/ROOT
将容器内的index.jsp复制出来,修改再复制回去docker cp tomcat2:/usr/local/tomcat/webapps/ROOT/index.jsp /root
如果觉得《Docker学习(四)-----Docker容器常用命令》对你有帮助,请点赞、收藏,并留下你的观点哦!