3、实际常用命令【待补充】

根据docker生命周期顺序整理

容器生命周期管理:准备-开始-维护-关闭/卸载

prepare:

查看版本

version

查看docker状态

systemctl status docker

系统设置:

开机启动systemctl enable docker

查看概要docker info

--help

images

search

pull/push

rmi

build

start

run

启动docker

systemctl start docker

停止docker

systemctl stop docker

重启restart

exec -it

commit

volume数据卷相关操作

cp

port映射

获取镜像

docker pull 镜像:version

列出镜像

docker images

使用镜像

docker run -it images /bin/bash

ctrl+p+q可以保持运行退出

移除镜像之前要先移有依赖的容器docker rm

删除一个正在运行中的容器docker -f ID

移除本地镜像docker rmi

进入docker

docker attach

progess

ps

logs

stats

top

inspect

network

end

stop

rm

run,start,stop,restart,kill,rm,pause,unpause,create,exec

容器操作:

ps,inspect,top,attach,events,logs,wait,export,port,

容器rootfs命令

commit,cp,diff

镜像仓库:

login,logout,pull,push,search

本地镜像管理:

images,rmi,tag,build,history,save,load,import,info,version

练习:nginx,py,mysql,

之前的:

docker命令:

帮助命令docker

查看所有docker相关命令(英文显示)

docker run --help查看该命令的使用

查看正在运行中的容器

docker ps

查看容器端口库映射到宿主机的端口号

docker port 容器ID/name

查看容器内部的标准输出

docker logs 容器ID/name

查看容器内部运行的进程

docker top 容器ID/name

查看容器底层信息

docker inspect 容器ID/name

如何进入容器

docker exec

docker exec -it -d

停止容器:

docker stop 容器ID/name

启动容器:

docker start 容器ID/name

查询最后一次创建的容器:

docker ps -l

删除容器(必须是停止状态)

docker rm ID/name

容器命名:

docker run -d -P --name wodemingzi training/webapp python app.py

通过docker ps查看名称

docker ps查看容器端口映射情况

容器端口映射:

-P随机映射到端口

-p帮i当道指定端口

默认是tcp端口,udp端口需要在后面加/udp

docker run -d -p 5000:5000 training/webapp python app.py

列出主机上的镜像

docker images

获取新的镜像

docker pull ubuntu:latest

从docker hub中查找镜像

docker search

docker search nginx

docker run -p 8702:80 nginx

更新镜像的两个方式:

1从已经创建的容器中更新镜像,并且提交这个镜像,

2使用dockerfile创建一个新的镜像

eg:

docker run -it ubuntu:16.04 /bin/bash

docker images

echo "hello ubuntu images">>hello.txt

cat hello.txt

docker commit -m="has update" -a="hello ubuntu images" 4eec571480db helloubuntuimages/ubuntu:v1

// -m 提交的描述信息

-a 指定镜像作者

容器ID

helloubuntuimages/ubuntu:v1指定要创建的目标镜像名

docker images

设置镜像标签:

docker tag 镜像ID loen/ubuntu:dev

Demo

Busybox是一个集成了一百多个最常用Linux命令(如 cat,echo,grep,mount,telnet等)的精简工具箱,它只有不到2MB大小,被誉为"Linux 系统的瑞士军刀"。

删除镜像:

docker rmi 镜像ID

(使用 Docker 一段时间后, 系统中可能会遗留一些临时的镜像文件,以及一些没有被使用的镜像,可以通过 docker image prune 命令来进行清理。)

Alpine 操作系统是一个面向安全的轻型 Linux 发行版,关注安全,性能和资源效能。

不同于其他发行版,Alpine采用了 musl libc 和 BusyBox 以减小系统的体积和运行时资源消耗,

比BusyBox功能上更完善。在保持瘦身的同时,Alpine还提供了包管理工具apk查询和安装软件包。

Dockerfile:

FROM

主要作用是指定一个镜像作为构建自定义镜像的基础镜像,在这个基础镜像之上进行修改定制。

LABEL

用于指定一个镜像的描述信息

要查看镜像的 LABEL 信息,可以使用 docker inspect 命令。

eg:

LABEL maintainer="[email protected]"

LABEL "com.example.vendor"="ACME Incorporated"

LABEL com.example.label-with-value="foo"

LABEL version="1.0"

LABEL description="This text illustrates

that label-values can span multiple lines."

ENV 指令

用于设置环境变量

ENV VERSION=1.0 DEBUG=on

NAME="Happy New Year"

RUN 指令

RUN 指令是在容器内执行 shell 命令,默认会是用 /bin/sh -c 的方式执行。

CMD 指令

Dockerfile 中只能有一条CMD指令。如果列出多个,CMD 则只有最后一个CMD会生效。

CMD 主要目的是为运行容器时提供默认值

Docker 不是虚拟机,容器就是进程,CMD 指令就是用于指定默认的容器主进程的启动命令的。

ENTRYPOINT 指令

ENTRYPOINT 的目的和 CMD 一样,都是在指定容器的启动程序及参数。

ENTRYPOINT 在运行时也可以被替代,不过比 CMD 要略显繁琐,需要通过 docker run 的参数 --entrypoint 来指定。

WORKDIR 指令

用于声明当前的工作目录,以后各层的当前目录就被改为指定的目录。

格式为 WORKDIR <工作目录路径>。

如该目录不存在,WORKDIR 会帮你建立目录。

COPY 指令

格式:

COPY <源路径>... <目标路径>

COPY ["<源路径1>",... "<目标路径>"] 和 RUN 指令一样,也有两种格式,一种类似于命令行,一种类似于函数调用。

<目标路径> 可以是容器内的绝对路径,也可以是相对于 WORKDIR 指定的工作目录的相对路径。目标路径不需要事先创建,如果目录不存在会在复制文件前先被创建。

ADD 指令

ADD 指令和 COPY 的格式和性质基本一致。但是在 COPY 基础上增加了一些功能。

支持自动解压缩,压缩格式支持: gzip, bzip2 以及 xz

官方推荐使用 COPY 进行文件的复制。

USER 指令

USER指令用于指定容器执行程序的用户身份,默认是 root用户;

在docker run 中可以通过 -u 选项来覆盖USER指令的设置,例如:

docker run -i -t -u loose image /bin/bash

ONBUILD 指令

ONBUILD该指令的作用就是,它后面往往放的一些可执行的命令,但是它进行镜像构建时,ONBUILD后面的命令不会执行,而是别人把它构建的镜像作为基础镜像拿来再构建镜像时,就会执行ONBUILD后面的指令。

docker生命周期管理命令

docker run

start

stop

restart

kill

rm

pause

unpause

docker create 命令能够基于镜像创建容器。

该命令执行的效果类似于 docker run -d,即创建一个将在系统后台运行的容器

但是与 docker run -d 不同的是,docker create 创建的容器并未实际启动,还需要执行 docker start 命令或 docker run 命令以启动容器。当你想提前设置容器配置以便可以在需要时启动时,此功能很有用。

docker exec【重要】

容器操作命令

ps,inpect,top,attach,events,logs,wait,export,port,

Reference:

https://www.w3cschool.cn/reqsgr/sf4koozt.html

https://www.w3cschool.cn/docker/ubuntu-docker-install.html

相关推荐
Edward-tan9 分钟前
Django 生成 ssl 安全证书,切换 https、wss协议(daphne 、nginx)
运维·服务器·django
coding随想22 分钟前
macOS (M1 Pro) 上 Docker Desktop 安装失败问题及其解决方案
macos·docker·容器
字节程序员35 分钟前
Jenkins 持续集成:Linux 系统 两台机器互相免密登录
linux·软件测试·ci/cd·jenkins
试水年华1 小时前
鸿蒙Next-集成HmRouter的路由模式
linux·运维·服务器·华为·harmonyos·ark-ts语言
Bigger1 小时前
Mac 命令行及 Linux 使用指南与示例
linux·前端·命令行
程序员的世界你不懂1 小时前
Tomcat生产服务器性能优化
服务器·性能优化·tomcat
Karl_wei1 小时前
Flutter Linux应用初探
linux·前端·flutter
IT缺脑干1 小时前
CentOS 7 挂载与卸载文件系统
linux·运维·centos
Yang三少喜欢撸铁1 小时前
【10分钟掌握Docker、k8s的基础命令】
运维·docker·容器·kubernetes·k8s
Levin__NLP_CV_AIGC1 小时前
Nvidia Driver英伟达驱动安装-Ubuntu-CUDA
linux·运维·ubuntu·计算机视觉·自然语言处理