网站首页 > 基础教程 正文
一、docker查看信息命令
docker --help #查看docker命令
docker info #docker 详细信息,镜像和容器
docker version #查看docker版本
#帮助文档
帮助文档地址:https://docs.docker.com/reference/
二、镜像命令
docker images # 查看docker镜像;
- 具体列解释含义:
- REPOSITORY#镜像仓库源
- TAG#镜像的标签
- IMAGE ID#镜像id
- CREATED#创建时间
- SIZE#大小
同一个仓库源可以有多个TAG,表示这个仓库源的不同版本,我们使用REPOSITORY:TAG来定义不同的镜像。如果不指定一个镜像的版本标签,例如只使用tomcat,docker将默认使用tomcat:latest镜像
docker images -a#列出本地所有的镜像
docker images -q#只显示镜像ID
docker images --digests#显示镜像的摘要信息
docker images --no-trunc#显示完整的镜像信息
示例:
- dockerhub
#从Docker Hub上查找tomcat镜像
docker search tomcat
#从Docker Hub上查找关注度大于300的tomcat镜像
docker search --filter=stars=300 tomcat
#从Docker Hub上下载tomcat镜像。等价于:docker pull tomcat:latest
docker pull tomcat
- STARS:关注度
- NAME #名称
- DESCRIPTION #描述
- STARS #点赞
- OFFICIAL #是否官方
- AUTOMATED #是否自动构建
镜像下载
# 下载Redis官方最新镜像,相当于:docker pull redis:latest
[root@mcally myblog]# docker pull redis
Using default tag: latest
latest: Pulling from library/redis
33847f680f63: Pull complete
26a746039521: Pull complete
18d87da94363: Pull complete
5e118a708802: Pull complete
ecf0dbe7c357: Pull complete
46f280ba52da: Pull complete
Digest: sha256:cd0c68c5479f2db4b9e2c5fbfdb7a8acb77625322dd5b474578515422d3ddb59
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest
删除镜像命令
##单个镜像删除,相当于:docker rmi redis:latest
docker rmi redis
##强制删除(针对基于镜像有运行的容器进程)
docker rmi -f redis
##多个镜像删除,不同镜像间以空格间隔
docker rmi -f redis tomcat nginx
##删除本地全部镜像
docker rmi -f $(docker images -q)
三、容器命令
只有下载镜像才能运行容器命令
- 容器启动与停止
##新建并启动容器,参数:-i 以交互模式运行容器;-t 为容器重新分配一个伪输入终端;--name 为容器指定一个名称
docker run -i -t --name mycentos
##后台启动容器,参数:-d 已守护方式启动容器
docker run -d mycentos
#启动或者停止容器
docker start 容器id
docker restart 容器id
docker kill 容器id
docker stop 容器id
- 示例:
#运行centos镜像
[root@mcally myblog]# docker run -it centos
# 查看镜像文件目录
[root@9ec4a30b3209 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@9ec4a30b3209 /]# exit
#并没有运行中的镜像
[root@mcally myblog]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 容器进入与退出
##使用run方式在创建时进入
docker run -it centos /bin/bash
##关闭容器并退出
exit
##仅退出容器,不关闭
快捷键:Ctrl + P + Q
- 示例:
#启动镜像
[root@mcally myblog]# docker run -it centos /bin/bash
#ctrl +p +q退出,查看运行的容器
[root@f6db6f0661af /]# [root@mcally myblog]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f6db6f0661af centos "/bin/bash" About a minute ago Up About a minute elegant_shtern
# 停止容器
[root@mcally myblog]# docker stop f6db6f0661af
f6db6f0661af
[root@mcally myblog]# docker ps -q
- 容器日志
##查看redis容器日志,默认参数
docker logs rabbitmq
##查看redis容器日志,参数:-f 跟踪日志输出;-t 显示时间戳;--tail 仅列出最新N条容器日志;
docker logs -f -t --tail=20 redis
##查看容器redis从2021年08月10日后的最新10条日志。
docker logs --since="2021-08-10" --tail=10 redis
- 进入当前正在运行的容器
- 通常容器使用后台的方式运行,需要进入容器,修改一些配置;
- 方式一
docker exec -it 容器id bashShell(/bin/bash)
- 方式二
docker attach 容器id bashShell(/bin/bash)
exec:进入容器后,开启一个新的终端,可以再里面操作;
attach:进入容器正在执行的终端,不会启动新的终端进程;
- 容器内拷贝文件到主机
docker cp 容器id:容器内路径 目的主机路径
四、build 命令创建镜像
docker build -t name .
#name 名称自取 别忘记最后一个点
#示例(执行命令的目录必须和Dockerfile 文件在同一个文件夹)
docker build -t myblog1.0.1 .
- Dockerfile 文件和要发布的myblog.jar 在同一个目录下注意当然也可以指定Dockerfile 文件路径
常用发布命令
# -p 宿主机端口:容器内端口
# -v 宿主机目录:容器内目录
# --name 容器名称
# -d 后台运行
docker run -d --name myblog1.1.2 -p:6103:6200 -v /usr/local/work/myblog/imgs/:/myblog/imgs myblog:1.1.1
- Dockerfile 文件示例
FROM java:8
# 维护者信息
MAINTAINER Mcally<Strive_Mcally@163.com>
# 修改容器时区
ENV JAVA_OPTS="$JAVA_OPTS -Duser.timezone=GMT+08"
#系统编码(centos 有些问题)
#ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
#声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
VOLUME ["/myblog/imgs"]
# 添加启动脚本
#COPY run.sh /run.sh
# 创建应用目录修改时区
RUN mkdir -p /myblog
#RUN mkdir -p /myblog && \
# echo "Asia/Shanghai" > /etc/timezone && \
# chmod +x /run.sh
# 添加 jar 包到容器
#应用构建成功后的jar文件被复制到镜像内
ADD myblog.jar /myblog/myblog.jar
# 修改工作目录
WORKDIR /myblog
# 容器执行命令
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-jar","myblog.jar"]
# 服务需要的端口
EXPOSE 6200
# 容器执行命令
#CMD ["myblog.jar"]
猜你喜欢
- 2024-10-12 docker命令讲解(二) docker 命令大全
- 2024-10-12 docker 常用命令整理 docker命令菜鸟教程
- 2024-10-12 Docker必须掌握常用命令 docker常用命令及参数
- 2024-10-12 「这些都不知道你就是个弟弟」Docker常用命令
- 2024-10-12 docker常用命令-其他常用命令 docker常用命令及参数
- 2024-10-12 聊聊 Docker 的存储 Overlay2 docker/overlay2
- 2024-10-12 Docker常用命令与构建中遇到的问题
- 2024-10-12 NVIDIA Jetson 系列文章(5):使用Docker容器的入门技巧
- 2024-10-12 一分钟学会Docker常用命令 docker常用命令大全简书
- 2024-10-12 学习Docker的必备常用命令 docker基本用法
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)