【LINUX篇】docker操作相关命令

该文整理了Docker的一些常用命令,包括显示运行的容器、日志查询、容器的生命周期管理如创建、启动、停止、删除,以及镜像的查看、删除、创建和导入导出。此外,还提到了如何将本机文件复制到容器中以及如何通过Dockerfile构建镜像。
摘要由CSDN通过智能技术生成

痛点:每次操作linux时总是记不住执行命令,都要打开百度去搜索,索性自己整理一下。

容器操作

• 显示正在运行的docker容器
docker ps
• 扩展说明
docker ps : 列出容器
语法
docker ps [OPTIONS]
OPTIONS说明:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
• 实用命令——查询最近200条docker容器的日志,并实时滚动
docker logs -f -t --tail=200 容器名

ps:想要进行grep筛选的方法有2种
1.docker logs nginx 2>&1 | grep INFO
2.grep INFO `docker inspect --format={{.LogPath}} nginx`

容器生命周期管理

• 创建docker容器
docker run
           # 保持容器在后台持续运行
           --detach \
           # 为容器指定一个名称
           --name 容器名称 \
           # 能够使我们在重启docker时,自动启动相关容器。
           --restart always \
           # 指定端口映射,格式为:主机(宿主)端口:容器端口
           --publish 9911:9911 \
           # 映射路径,格式为:主机路径:容器路径
           --volume /opt/volume/biz/redis/logs:/var/log/redis/ \
           镜像名:镜像版本
           redis:latest

其他命令不变换成docker create ,只是单纯创建容器不会启动。
• 启动、重启、停止、删除容器
docker start        :启动一个或多个已经被停止的容器
docker restart      :重启容器
docker stop         :停止一个运行中的容器
docker rm           :删除容器(不能删除正在运行中的容器)
docker kill         :杀掉一个运行中的容器

正常情况下删除,先将容器停止再进行删除操作: docker stop redis && docker rm redis

删除所有已经停止的容器:
docker rm $(docker ps -a -q)
• 进入到docker容器中
docker exec -i -t  mynginx(docker ps中的NAMES或者CONTAINER ID) /bin/bash
进入后exit退出
ps:使用docker exec进入后退出不会导致容器停止。使用docker attach进入后会导致容器的停止。
• copy本机文件到docker容器中
docker cp 本地文件路径 容器长ID:容器路径              
容器长ID:通过docker inspect 获取
docker cp /usr/local/test.txt 容器长ID:/usr/local/tomcat/webapps

镜像操作

• 查看镜像
docker images       :列出本地镜像

docker images ubuntu:列出本地镜像中REPOSITORY为ubuntu的镜像列表
• 删除镜像
docker rmi : 删除本地一个或多个镜像

强制删除本地镜像 runoob/ubuntu:v4
docker rmi -f runoob/ubuntu:v4
• 创建镜像
docker build 命令用于使用 Dockerfile 创建镜像

以下是使用openjdk构建jar包,Dockerfile编写
FROM openjdk:8-jdk-alpine

MAINTAINER author

ADD *.jar app.jar

RUN sh -c 'touch /app.jar'

ENV TZ='Asia/Shanghai'
ENV JAVA_OPTS=''
ENV profiles='prod'

VOLUME /tmp

EXPOSE 8080

ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Dspring.profiles.active=$profiles -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
• 下载/导入镜像
docker save : 将指定镜像保存成 tar 归档文件。

将镜像 openjdk:8-jdk-alpine 生成 openjdk.tar 文件
docker save -o my_ubuntu_v3.tar openjdk:8-jdk-alpine

docker load : 导入使用 docker save 命令导出的镜像。
将镜像文件 openjdk.tar 导入
docker load --input openjdk.tar

从镜像文件openjdk.tar创建镜像,命名为openjdk:8-jdk-alpine-test
docker import openjdk.tar openjdk:8-jdk-alpine-test

更多信息点击查看

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值