Doker容器命令篇(三)

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服务器

  1. https://hub.docker.com/注册下 得到docker id和密码
  2. docker login
  3. 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到宿主机

  1. docker cp 容器id:/usr/local/tomcat/conf /home/tomcat/

  2. 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到宿主机

  1. docker cp 容器id:/etc/mysql/conf.d /home/mysql/

  2. docker cp 容器id:/var/log /home/mysql/

  3. 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服务器

  1. https://hub.docker.com/注册下 得到docker id和密码
  2. docker login
  3. 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到宿主机

  1. docker cp 容器id:/usr/local/tomcat/conf /home/tomcat/

  2. 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到宿主机

  1. docker cp 容器id:/etc/mysql/conf.d /home/mysql/

  2. docker cp 容器id:/var/log /home/mysql/

  3. 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脚本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值