Docker(二):Docker常用命令和安装Nginx与Tomcat

本文主要内容:Docker常用容器、镜像命令和安装Nginx与Tomcat

Docker帮助命令

1. docker version     # 显示Docker的版本信息
2. docker info     	  # 显示Docker的系统信息(包含镜像与容器的数量)
3. docker 命令 --help  # 查看帮助(就是显示这个命令有什么可选项)

Docker镜像命令

  1. docker images:显示本机上所有安装镜像

    [root@MT ~]# docker images
    
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos              latest              470671670cac        4 months ago        237MB
    hello-world         latest              bf756fb1ae65        4 months ago        13.3kB
    
    # 可选项
    docker images -a # 列出所有的镜像
    docker images -q # 只显示镜像的id
    
    [root@MT ~]# docker images -aq
    470671670cac
    bf756fb1ae65
    
  2. docker search:搜索镜像

    [root@MT ~]# docker search mysql(镜像名)
    
    NAME                              DESCRIPTION                                     STARS
    mysql                             MySQL is a widely used, open-source relation…   9553             
    mariadb                           MariaDB is a community-developed fork of MyS…   3471 
    
    # 可选项
    docker search mysql -f=STARS=3000 # 列出镜像星数大于3000的镜像
    
  3. docker pull:下载镜像

    [root@MT ~]# docker pull mysql      # 下载最新版本的MySQL
    [root@MT ~]# docker pull mysql:5.7  # 下载指定版本的MySQL
    
  4. docker rmi:删除镜像

    docker rmi -f 镜像id                      # 删除指定的镜像
    docker rmi -f 镜像id 镜像id 镜像id 镜像id  # 删除指定的镜像
    docker rmi -f $(docker images -aq)       # 删除全部的镜像
    

Docker容器命令

  1. docker run [可选参数] 镜像名

    [root@MT ~]# docker run 可选参数 镜像名
    
    # 可选参数
    --name=”xxx“    # 容器名字
    -d              # 后台模式运行
    -it             # 使用交互模式运行,进入容器查看内容
    -p(小学)         # 指定端口映射 如:-p 8080(宿主机):8080(容器)
    -P(大写)         # 随机端口映射
    
    # 测试启动进入与退出容器
    [root@MT ~]# docker run -it centos /bin/bash           # /bin/bash 是使用命令行进入
    [root@6130f0353526 /]# ls                              # 此时已经进入Docker的CentOS容器
    bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    [root@6130f0353526 /]# exit
    exit
    [root@MT ~]#
    
    
  2. docker ps [可选参数]:列出运行的容器

    [root@MT ~]# docker ps 可选参数
    
    # 可选参数
    -a       # 列出正在运行和历史运行过的容器
    -q       # 列出容器ID
    
    [root@MT ~]# docker ps -aq
    6130f0353526
    895577bc1ae7
    f9fc9c23267d
    faab3fceb1d3
    
  3. 退出容器

    exit          # 容器直接退出
    Ctrl + P + Q  # 容器不停止退出
    
  4. 删除容器

    docker rm -f 容器id              # 删除指定容器(不能删除正在运行的,如需要rm-rf)
    docker rm -f $(docker ps -aq)    # 删除所有容器
    
  5. 启动和停止容器操作

    docker start 容器id      # 启动容器
    docker restart 容器id    # 重启容器
    docker stop 容器id       # 停止正在运行的容器
    docker kill 容器id       # 强制停止
    

Docker其它命令

容器后台方式运行
[root@MT ~]# docker run -d centos
748d11ff226983ab8281fc6741087e6a3f349ad03f0cadafcd215aed894978dc
[root@MT ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
 # 问题:我们此时已经发现启动CentOS,但是确查不到正在运行的容器
 # 解释:Docker容器使用后台运行,就必须要有要一个前台进程,Docker发现没有应用,就会自动停止
查看日志
docker logs -tf 容器id             # 查看实时日志  
docker logs -t --tail 数量 容器id  # 查看指定数量的日志           
查看容器中的进程信息
docker top 容器id
查看镜像的元数据
docker inspect 容器id
进入当前正在运行的容器
# 通常我们是使用后台方式运行容器,因为我们可能需要进入容器,修改配置

# docker exec -it 容器ID /bin/bash (常用)
# docker attach 容器ID

# exec方式:就是类似新开一个窗口连接运行的容器
# attach方式:就是直接连入当前的容器
拷贝容器内文件到宿主机中
docker cp 容器id:文件路径(容器内) 目的路径(宿主机)
[root@MT ~]docker cp 1a9a6785c37c:/home/c.java /home/

Docker安装Nginx

# 1. 搜索镜像 search 建议大家去docker搜索,可以看到帮助文档
docker search nginx
# 2. 拉取镜像 docker pull nginx
docker pull nginx
# 3. 运行测试
  # -d 后台运行
  # --name 给容器命名
  # -p 宿主机端口:容器内部端口(我这里使用阿里云的3344端口,前提要在阿里云安全组开放次端口)
docker run -d --name nginx -p 3344:80 nginx
# 4.查看镜像
docker ps
# 5.测试是否成功
curl localhost:3344 # 或者在浏览器输入ip:3344

Docker安装Tomcat

# 下载tomcat镜像
docker pull tomcat:9.0
# 运行tomcat镜像
docker run -d tomcat -p 3344:8080 tomcat
# 测试
curl localhost:3344  # 此时发现无法访问
# 原因:tomcat容器里面webapps目录下没有文件
# 进入容器
docker exec -it ef41045bea2b /bin/bash
cp -r webapps.dist/* webapps
# 重新测试 在浏览器输入ip:3344 --> 发现成功访问
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值