Docker---镜像( Image )与容器( Container )

一、Docker获取镜像

(一)、查找取镜像

官方镜像 Docker Hub

docker search:比如我们需要一个tomcat的镜像来作为我们的web服务。我们可以通过docker search命令搜索tomcat来寻找适合我们的镜像。

docker search tomcat

(二)、获取镜像

从Docker镜像仓库获取镜像的命令是docker pull

命令格式为:docker pull [选项] [Docker Registey 地址 [ :端口号]/]仓库名[:标签]

具体的选项可以通过docker pull --help命令看到,这里我们说一下镜像名称的格式。

- Docker镜像仓库地址:地址的格式一般是<域名/IP>[:端口号]。默认地址是Docker Hub。
-仓库名:这里的仓库名是两段式名称, 即<用户名>/<软件名>。对于Docker Hub,如果不给出用户名,则默认为library,也就是官方镜像。

 (三)、列出镜像

要想列出已经下载下来的镜像,可以使用docker image ls 命令。 

 (四)、删除本地镜像

语法:
docker image rm [选项] <镜像1> [<镜像2> .....]

用ID、镜像名、摘要删除镜像
其中,镜像>可以是镜像短ID、镜像长ID、镜像名或者镜像摘要。

如果要删除本地的镜像,可以使用docker image rmi / rm命令。

docker image rmi 镜像ID   //常用

要删除镜像必须确认此镜像目前没有被任何容器使用。

 (五)、其它辅助命令

查看本地镜像的IMAGE ID :docker images -q

查看一个镜像的制作历程 :docker history 镜像名称

 (六)、保存镜像

1、用save子命令将本地仓库的镜像保存当前目录下

docker save -o tomcat.guo.tar 镜像名称

2、将本地目录下的镜像备份文件导入到本地Docker仓库

#方式一(不输出详细信息)∶ [ root@localhost ~]# docker load -i tomcat. guo.tar

#方式二(输出详细信息): [root@localhost ~]# docker load < tomcat.guo.tar

二、容器( Container )

1、查看容器状态

docker ps //查看运行的容器
docker ps -a//查看所有的容器(包含运行和退出)
docker container ls
docker container ls -a

2、Docker启动容器

启动容器有2种方式,一种是基于镜像新建一个容器并启动,一种是将在终止状态 ( stopped )的容器重新启动。

docker run 参数 镜像名称:tag 执行的命令

常用参数:

-i 保持和docker 容器内的交互,启动容器时,运行的命令结束后,容器依然存活,没有退出(默认是会退出,即停止的)
-t 为容器的标准输入虚拟一个tty

-d 后台运行容器
-- rm 容器在启动后,执行完成命令或程序后就销毁

--name给 容器起一个自定义名称
-p宿主机:内部端口

docker run --rm -d--name tomcat1 -p 8080:8880 tomcat 

3、Docker容器常用命令

docker ps -a   列出容器详情

docker stop    停止容器

docker stop  $(docker ps -a -q)    停止列出的容器

docker start id/名称    启动容器

docker rm id   删除容器(不可以删除运行中的容器)

4、Docker进入容器

某些时候需要进入容器进行操作,使用docker exec命令

-i t参数
docker exec后边可以跟多个参数,这里主要说明 -i -t参数。
只用-i参数时,由于没有分配伪终端,界面没有我们熟悉的Linux命令提示符,但命令执行结果仍然可以返回。
当-i -t参数一起使用时,则可以看到我们熟悉的 Linux命令提示符。

docker exec -it 容器ID (Names) bash

示例:
进入容器,对默认的tomcat进行页面修改,然后再访问查看效果。
   注意默认容器内linux包是最小安装。只拥有最基本的命令
   exit,不会导致容器的停止
docker exec -it tomcat1 bash //进入容器名称叫tomcat1
echo 'qfnj-weixin ' >>index.jsp l/对容器内的index.jsp进行字符串追加

5、 在宿主机和容器之间交换文件

在宿主机和容器之间相互COPY文件cp的用法如下

docker cp [OPTIONS] CONTAINER:PATH LOCALPATH//容器中复制到宿主机
docker cp [OPTIONS] LOCALPATH|- CONTAINER:PATH//宿主机复制到容器中

//宿主机复制一个图片到容器中:将png图片复制到了容器指定目录下
docker cp guoweixin.png tomcat2:/usr/local/tomcat/webapps/ROOT
//将容器内的index.jsp复制出来,修改再复制回去
docker cp tomcat2:/usr/local/tomcat/webapps/ROOT/index.jsp /root

三、补充知识点

(一)、Centos防火墙端口

开放8080端口(如下命令只针对centos7以上)

查看已经开放的端口:   firewall-cmd --list-ports
开启端口:   firewall-cmd --zone=public --add-port=8080/tcp --permanent
关闭端口:   firewall-cmd --permanent --zone=public --remove-port=8080/tcp
开启防火墙:   systemctl start firewalld
重启防火墙: 

firewall-cmd --reload #重启
firewall systemctl stop firewalld.service #停止
firewall systemctl disable firewalld.service #禁止firewall开机启动

(二)、Docker查看日志

docker log 容器名称/ID

docker logs -f -t --since="2018-12-1" --tail=10 容器名称

--since:此参数指定了输出日志开始日期,即只输出指定日期之后的日志。

-f:查看实时日志
-t:查看日志产生的日期

-tail=10:查看最后的10条日志

docker logs -f --tail=10 容器名称

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java张金贺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值