栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker概述(二)(标贝科技)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker概述(二)(标贝科技)

Docker概述(二)

文章目录

Docker概述(二)前言一、镜像构建与运行二、docker常用命令总结


前言

本文将介绍Docker镜像的构建、运行以及介绍docker的常用命令


一、镜像构建与运行

Dockerfile创建
Dockerfile常用命令介绍

这里以tomcat9.0为例
首先下载一个tomcat9.0

docker pull tomcat:9.0

通常我们启动一个Tomcat容器,官方镜像是简化版的,在webapps 目录下没有任何内容,所有我们启动之后访问主页也是没有任何内容。但是官方镜像的 webapps.dist 目录下有首页文件,所以我们将 webapps.dist 目录下的所有文件复制到 webapps.

1. 进入启动的容器

docker exec -it 容器id /bin/bash

2. 将webapps.dist 目录所有文件复制到 webapps 目录下

cp -r webapps.dist/* webapps/

3. 提前准备好 webapps 目录文件

我这里直接将官方Tomcat容器中的 webapps.dist 目录拷贝到本机的/home/webapps 目录下:

docker cp 容器ID:/usr/local/tomcat/webapps.dist /home/webapps

4.编写dockerfile内容
在本机 /home 目录下新建一个 Dockerfile 文件(可以任意命名,没有后缀),内容如下:

FROM tomcat:latest
MAINTAINER itcoke
WORKDIR /usr/local/tomcat/webapps
COPY ./webapps/ /usr/local/tomcat/webapps/

5. 构建镜像

docker build -f Dockerfile -t itcoke/mytomcat:1.0

6. 运行镜像

docker run -d -p 8081:8080 itcoke/mytomcat:1.0

二、docker常用命令总结

(一)docker 基础命令
#启动docker

systemctl start docker

#关闭docker

systemctl stop docker

#重启docker

systemctl restart docker

#查看docker 运行状态 ------如果是在运行中 输入命令后 会看到绿色的active

systemctl status docker

#查看docker 版本号信息

docker version

#拉取命令

docker pull --help

#docker 帮助命令 忘记了某些命令便可使用此进行查看与回顾

docker --help

(二)docker 镜像命令

#查看自己服务器中docker 镜像列表

docker images

#搜索镜像

docker search 镜像名
docker search --filter=STARS=9000 mysql (搜索STARS>9000的 mysql镜像)

#拉取镜像 不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本

docker pull 镜像名
docker pull 镜像名:tag(版本号)

#运行镜像

docker run 镜像名
docker run 镜像名:Tag

#删除镜像 当前镜像没有被任何容器使用才可以删除

docker rmi -f 镜像名/镜像id

#删除多个镜像 中间加空格

docker rmi -f 镜像名/镜像id 镜像名/镜像id

#删除全部镜像 -a 显示全部 -q 只显示id

docker rmi -f $(docker images -aq)

#强制删除镜像

docker image rm 镜像名/镜像id

#保存镜像 tar

docker  save tomcat -o /xxx.tar

#加载镜像

docker load -i 镜像文件保存位置

(三)docker 容器命令
解释:docker 容器 就好比 java中的对象 ,docker 容器的启动需要 镜像的支持

#查看运行中容器列表

docker ps

#查看所有容器

docker ps -a

#启动容器
-it 表示与容器进行交互式启动 -d 表示守护进程 --name 容器名 /bin/base 交互路径

docker run -it -d --name 容器名 镜像名:Tag /bin/bash
docker run -it -d --name redis001 redis:5.0.5 /bin/bash

#启动容器

docker start 容器名/容器id

#停止容器

docker stop 容器名/容器id 

#删除一个容器

docker rm -f 容器名/容器id

#删除多个容器 容器名空格隔开

docker rm -f 容器名/容器id 容器名/容器id 容器名/容器id

#删除全部容器

docker rm -f $(docker ps -aq)

#容器端口与服务器端口映射
已redis为例:-p 8888:6379 解析 将容器内部的 6379端口与docker 宿主机(docker装在哪台服务器 那台服务器 就是其宿主机)8888 端口进行映射
那通过外部访问宿主机8888端口 即可访问到 docker 容器 6379 端口了

docker run -itd --name redis002 -p 8888:6379 redis:5.0.5 /bin/base

#进入容器方式一

docker exec -it 容器名/容器id /bin/base
docker exec -it redis002 /bin/base

#进入容器方式二

docker attach 容器名/容器id

#退出容器
#直接退出 未添加 -d持久化运行容器参数时 容器将会被关闭

exit

#优雅退出 无论是否加 -d 都不会关闭容器

Ctrl + p + q

#停止容器

docker stop 容器名/容器id  

#重启容器

docker restart 容器名/容器id

#kill容器

docker kill 容器名/容器id

#容器文件拷贝
#从容器内拷出

docker cp 容器名/名称: 容器内路径 容器外路径

#从外部拷贝文件到容器内部

docker cp 容器外路径 容器id/名称: 容器内路径

#查看容器日志

docker logs -f --tail=要查看末尾多少行

参考文献:

https://www.cnblogs.com/ysocean/p/15659105.html
https://blog.csdn.net/leilei1366615/article/details/106267225

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/747045.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号