开发者学堂课程【SpringBoot快速掌握 - 核心技术:Docker容器操作常用命令 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/612/detail/9270
Docker容器操作常用命令
一、容器操作
操作:运行
命令:docker run --name container-name -d image-name
eg:docker run -name myredis-d redis
说明:--name :自定义容器名
-d : 后台运行
image-name: 指定镜像模板
流程:
软件镜像(QQ安装程序)----运行镜像----产生一个容器(正在运行的软件,运行的QQ ) ;
首先 docker images ,发现没有镜像,
之后 docker search tomcat 镜像 ,来下载官方的镜像。
1. 搜索镜像
[root@localhost ~]# docker search tomcat
2、拉取镜像
[root@localhost ~]# docker pull tomcat
Docker pull,如果下载版本号,已标签为准,如果没有默认latest标签
3、根据镜像启动容器
查看镜像 docker images ,之后运行镜像 docker run--name mytomcat-d
tomcat :这里如果有标签,要写上标签,如果是唯一命令,就可以运行。
(2)列表
docker ps (查看运行中的容器);
加上-a;可以查看所有容器
之后看 docker ps 来看哪些容器在运行,启动了 mytomcat
4. docker ps 查看运行中的容器
如果测试能不能访问 tomcat ,不能访问的原因,因为是 comcat 容器是以 docker 的形式装上来的,但是容器是 tomcat 的容器,访问虚拟机8080是访问不到容器里面的,所以要做一个映射,就要重新装。此时停止容器。
(3)停止
docker stop container-name/container-i.
停止当前你运行的容器
5、停止运行中的容器 docker stop
容器的 id
查看所有的容器
Docker ps -a(是查看所有的)
(4)启动
启动容器
docker start container-name/container-id
容器
6、查看所有的杳器 docker ps -a
7、启动容器
docker start 容器 id
接下来删除
(5)删除
docker rm container-id
删除指定
之后 docker ps -a 发现容器就没有了
7、docker rm 容器 id
8、做一个外面真正能访问的 tomcat 容器
首先 docker images 发现了下载的 tomcat 镜像,把镜像运行,就可以产生 tomcat 容器用 docker run 命令,之后加上几个参数--name 是容器的名字,-d 是某个镜像的名字然后在启动时加上-p 参数,就是端口映射,把当前虚拟机的端口映射到容器内部的端口,把虚拟机的8080映射到容器里。接下来重新运行 docker run--name 加容器的名字或者 -d 代表后台运行,如果 -p 代表端口映射,先写虚拟机端口8888映射到容器 tomcat8080 就 8888:8080,如果启动哪个镜像,就 tomcat 直接写上就行。
(6)端口映射 -p 6379:6379eg:docker run -d -p 6379:6379 -Iname myredis docker.io/redis
-p: 主机端口(映射到)容器内部的端口
9、启动一个做了端口映射的 tomcat
[root@localhost ~]# docker run -d -p 8888:8080 tomcat
-d 代表后台运行 -p 代表主机端口映射容器端口 主机端口:容器内部的端口
启动之后用 docker ps 发现已经启动起来,之后虚拟机的8888映射到容器里的8080,此时在外面访问 8888 就行,此时 tomcat 就可以起作用了。此时能起作用的原因是没有打开防火墙,。
10、为了演示简单关闭了 linux 的防火墙
service firewalld status ;查看防火墙状态
service firewalld stop ∶关闭防火
(7)容器日志 docker logs container-name/container-id
用 docker log 查看日志,可以看到整个启动日志。
11、查看容器的日志
docker logs container-name/ container-id
12、更多命令参考
https://docs.docker.com/engine/reference/commandline/dockerl
这里可以参考每一个镜像的文档。
Docker run-d -p8889-8888 这里说明一个镜像可以启动多个容器。
并且每一个容器都是独立的,互不干扰。