Docker容器
1.创建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
--name="容器新名字":为容器指定一个名称;
-i:以交互模式运行容器,通常与-t或者-d同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-d: 后台运行容器,并返回容器ID;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
启动普通容器: docker run --name 别名 镜像ID
启动交互式容器: docker run -it --name 别名 镜像ID 来运行一个容器,取别名,交互模式运行,以及分配一个伪终端
守护式方式创建并启动容器
docker run -di --name 别名 镜像ID
执行完命令后,终端依然再宿主机上;
启动容器,并执行/bin/bash命令;
docker run -it --name 别名 镜像ID /bin/bash命令
端口映射;
docker run -it -p 8888:8080 tomcat
docker run -it -P tomcat
2.列出容器
docker ps [OPTIONS]
docker ps [OPTIONS]
OPTIONS说明:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
docker ps 查看正在运行的容器
docker ps -a 查看所有容器
docker ps -n 2 显示最近创建的2个容器
docker ps -f status=exited 查看停止的容器
3.退出容器
exit或者Ctrl+P+Q
exit 容器停止退出
ctrl+P+Q 容器不停止退出
4.进入容器
docker attach 容器ID or 容器名
5.启动容器
docker start 容器ID or 容器名
6.重启容器
docker restart 容器ID or 容器名
7.停止容器
docker stop 容器ID or 容器名
暴力删除,直接杀掉进程 (不推荐)
docker kill 容器ID or 容器名
8.删除容器
docker rm 容器ID
如果删除正在运行的容器,会报错,我们假如需要删除的话,需要强制删除;
强制删除docker rm -f 容器ID
删除多个容器
docker rm -f 容器ID1 容器ID2 中间空格隔开
删除所有容器
docker rm -f $(docker ps -qa)
9.宿主机和容器之间文件拷贝
docker copy
宿主机文件 copy to 容器内
docker cp 需要拷贝的文件或者目录 容器名称:容器目录
容器内 copy to 宿主机
docker cp 容器名称:容器目录 宿主机目录
10.查看容器日志
docker logs
docker logs [OPTIONS] CONTAINER
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
11.查看容器进程
docker top 容器ID
docker top 容器ID
12.进入容器执行命令
docker exec
docker exec -it 容器名称 或者 容器ID 执行命令
直接操作容器,执行完 回到 宿主主机终端;
我们一般用于 启动容器里的应用 比如 tomcat nginx redis elasticsearch等等
13.提交运行时容器成为镜像
docker commit
docker commit -a='作者' -m='备注' 运行时容器ID 新镜像名称
14.推送镜像到hub服务器
docker push
我们可以通过docker push命令 把自己本地定制的镜像推送到Hub服务器,方便全球开发者使用,包括自己;
上一讲,我们定制了一个镜像 java1234/tomcat7 tag是1.1
我们把这个镜像发布到hub服务器;
步骤一:
https://hub.docker.com/ 注册下 得到docker id和密码
步骤二:
我们用docker login登陆hub服务器
步骤三:
docker push推送
docker push java1234/tomcat7:1.1
推送成功:
登陆 https://hub.docker.com/ 点击 Repositories 菜单
已经显示这个镜像;
点击:
我们加简介和描述信息;
点Tags:
我们可以删除掉;
15.推送镜像到阿里云
16. 查看容器元信息
docker inspect 容器ID