1.创建并启动容器
- 启动普通容器
docker run --name 别名 镜像ID
- 启动交互式容器
docker run -it --name 别名 镜像ID
- 守护式启动容器
docker run -di --name 别名 镜像ID
参数详解:
-i:以交互模式运行容器,通常与-t或者-d同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-d: 后台运行容器,并返回容器ID;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
2.列出容器
-
docker ps 查看正在运行的容器。
-
docker ps -a 查看所有容器。
-
docker ps -n 2 显示最近创建的2个容器。
-
docker ps -f status=exited 查看停止的容器。
参数详解:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
–format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
–no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
3.退出容器
- exit 容器停止退出。
- ctrl+P+Q 容器不停止退出。
4.进入容器
docker attach 容器ID or 容器名。
注意:改命令有时会卡住,可使用下面这条命令
docker exec -it 运行的tomcat容器ID /bin/bash 进入到tomcat的目录
5.启动容器
docker start 容器ID or 容器名。
6.重启容器
docker restart 容器ID or 容器名。
7.停止容器
- docker stop 容器ID or 容器名。
- 暴力停止:docker kill 容器ID or 容器名。
8.删除容器
注意:删除镜像命令是:docker rmi 镜像ID
-
docker rm 容器ID ,如果删除的是正在运行的容器,会报错。
-
强制删除:docker rm -f 容器ID。
-
删除多个容器 :docker rm -f 容器ID1 容器ID2 中间空格隔开。
-
删除所有容器:docker rm -f $(docker ps -qa)。
10.文件拷贝
- 宿主机文件 copy to 容器内:docker cp 需要拷贝的文件或者目录 容器名称:容器目录。
- 容器内 copy to 宿主机:docker cp 容器名称:容器目录 宿主机目录
11.查看容器日志
- docker logs
12.查看容器进程
- docker top 容器ID
13.进入容器执行命令
- docker exec -it 容器名称 或者 容器ID 执行命令
我们一般用于 启动容器里的应用 比如 tomcat nginx redis elasticsearch等等。
14.容器端口映射
映射
- docker run -it(-di) -p 8888:8080 tomcat
注意:tomcat要注意下修改文件webapps
15.提交运行时容器成为镜像
- docker commit -a=‘作者’ -m=‘备注’ 运行时容器ID 新镜像名称
16.推送镜像到hub服务器
- https://hub.docker.com/注册下 得到docker id和密码
- docker login
- docker push 镜像名:tag
17.查看容器元信息
- docker inspect 容器ID
18.目录挂载
容器目录挂载:
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以实现宿主机和容器目录的双向数据自动同步;
- docker run -it -v /宿主机目录:/容器目录 镜像名
- docker run -it -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名
- 挂载目录只读:docker run -it -v /宿主机目录:/容器目录:ro 镜像名
19.web测试项目(具体实现看java1234视频)
19.1 在docker上安装tomcat
-
第一步:运行容器
-
第二步:宿主机里home目录下新建tomcat目录,复制容器里conf,webapps到宿主机
-
docker cp 容器id:/usr/local/tomcat/conf /home/tomcat/
-
docker cp 容器id:/usr/local/tomcat/webapps /home/tomcat/
- 第三步:把容器里的tomcat里的webapp,logs,conf挂载到宿主机tomcat目录下,方便上传代码,同步持久化日志,以及方便配置tomcat;关掉容器,启动容器;
docker run -d --name 容器名称 -p 80:8080
-v /home/tomcat/conf/:/usr/local/tomcat/conf/
-v /home/tomcat/webapps/:/usr/local/tomcat/webapps/
-v /home/tomcat/logs/:/usr/local/tomcat/logs/ 镜像名称
第四步:配置tomcat server.xml 以及 同步上传war包
<Context path="" docBase="/usr/local/tomcat/webapps/WebTest" debug="0" reloadable="true" />
19.2 在dockers上安装mysql
-
第一步:运行容器
-
第二步:宿主机里home目录下新建mysql目录,复制容器里conf,webapps到宿主机
-
docker cp 容器id:/etc/mysql/conf.d /home/mysql/
-
docker cp 容器id:/var/log /home/mysql/
-
docker cp 容器id:/var/lib/mysql /home/mysql/
-
第三步:把容器里的tomcat里的webapp,logs,conf挂载到宿主机tomcat目录下,方便上传代码,同步持久化日志,以及方便配置tomcat;关掉容器,启动容器;
docker run -p 3306:3306 -d
-v /etc/mysql/conf.d/:/home/mysql/conf/
-v /var/log:/home/mysql/log/
-v /var/lib/mysql/:/home/mysql/mysql/ -e MYSQL_ROOT_PASSWORD=123456 镜像ID
-
第四步:用sqlyog连接docker里的数据库,导入sql脚本 ### 1.创建并启动容器
-
启动普通容器
docker run --name 别名 镜像ID
- 启动交互式容器
docker run -it --name 别名 镜像ID
- 守护式启动容器
docker run -di --name 别名 镜像ID
参数详解:
-i:以交互模式运行容器,通常与-t或者-d同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-d: 后台运行容器,并返回容器ID;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
2.列出容器
-
docker ps 查看正在运行的容器。
-
docker ps -a 查看所有容器。
-
docker ps -n 2 显示最近创建的2个容器。
-
docker ps -f status=exited 查看停止的容器。
参数详解:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
–format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
–no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
3.退出容器
- exit 容器停止退出。
- ctrl+P+Q 容器不停止退出。
4.进入容器
docker attach 容器ID or 容器名。
注意:改命令有时会卡住,可使用下面这条命令
docker exec -it 运行的tomcat容器ID /bin/bash 进入到tomcat的目录
5.启动容器
docker start 容器ID or 容器名。
6.重启容器
docker restart 容器ID or 容器名。
7.停止容器
- docker stop 容器ID or 容器名。
- 暴力停止:docker kill 容器ID or 容器名。
8.删除容器
注意:删除镜像命令是:docker rmi 镜像ID
-
docker rm 容器ID ,如果删除的是正在运行的容器,会报错。
-
强制删除:docker rm -f 容器ID。
-
删除多个容器 :docker rm -f 容器ID1 容器ID2 中间空格隔开。
-
删除所有容器:docker rm -f $(docker ps -qa)。
10.文件拷贝
- 宿主机文件 copy to 容器内:docker cp 需要拷贝的文件或者目录 容器名称:容器目录。
- 容器内 copy to 宿主机:docker cp 容器名称:容器目录 宿主机目录
11.查看容器日志
- docker logs
12.查看容器进程
- docker top 容器ID
13.进入容器执行命令
- docker exec -it 容器名称 或者 容器ID 执行命令
我们一般用于 启动容器里的应用 比如 tomcat nginx redis elasticsearch等等。
14.容器端口映射
映射
- docker run -it(-di) -p 8888:8080 tomcat
注意:tomcat要注意下修改文件webapps
15.提交运行时容器成为镜像
- docker commit -a=‘作者’ -m=‘备注’ 运行时容器ID 新镜像名称
16.推送镜像到hub服务器
- https://hub.docker.com/注册下 得到docker id和密码
- docker login
- docker push 镜像名:tag
17.查看容器元信息
- docker inspect 容器ID
18.目录挂载
容器目录挂载:
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以实现宿主机和容器目录的双向数据自动同步;
- docker run -it -v /宿主机目录:/容器目录 镜像名
- docker run -it -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名
- 挂载目录只读:docker run -it -v /宿主机目录:/容器目录:ro 镜像名
19.web测试项目(具体实现看java1234视频)
19.1 在docker上安装tomcat
-
第一步:运行容器
-
第二步:宿主机里home目录下新建tomcat目录,复制容器里conf,webapps到宿主机
-
docker cp 容器id:/usr/local/tomcat/conf /home/tomcat/
-
docker cp 容器id:/usr/local/tomcat/webapps /home/tomcat/
- 第三步:把容器里的tomcat里的webapp,logs,conf挂载到宿主机tomcat目录下,方便上传代码,同步持久化日志,以及方便配置tomcat;关掉容器,启动容器;
docker run -d --name 容器名称 -p 80:8080
-v /home/tomcat/conf/:/usr/local/tomcat/conf/
-v /home/tomcat/webapps/:/usr/local/tomcat/webapps/
-v /home/tomcat/logs/:/usr/local/tomcat/logs/ 镜像名称
第四步:配置tomcat server.xml 以及 同步上传war包
<Context path="" docBase="/usr/local/tomcat/webapps/WebTest" debug="0" reloadable="true" />
19.2 在dockers上安装mysql
-
第一步:运行容器
-
第二步:宿主机里home目录下新建mysql目录,复制容器里conf,webapps到宿主机
-
docker cp 容器id:/etc/mysql/conf.d /home/mysql/
-
docker cp 容器id:/var/log /home/mysql/
-
docker cp 容器id:/var/lib/mysql /home/mysql/
-
第三步:把容器里的tomcat里的webapp,logs,conf挂载到宿主机tomcat目录下,方便上传代码,同步持久化日志,以及方便配置tomcat;关掉容器,启动容器;
docker run -p 3306:3306 -d
-v /etc/mysql/conf.d/:/home/mysql/conf/
-v /var/log:/home/mysql/log/
-v /var/lib/mysql/:/home/mysql/mysql/ -e MYSQL_ROOT_PASSWORD=123456 镜像ID
-
第四步:用sqlyog连接docker里的数据库,导入sql脚本