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

相关推荐
傻啦嘿哟28 分钟前
Python正则表达式:用“模式密码“解锁复杂字符串
linux·数据库·mysql
浪裡遊2 小时前
Linux常用指令
linux·运维·服务器·chrome·功能测试
SugarPPig2 小时前
PowerShell 查询及刷新环境变量
服务器
段ヤシ.3 小时前
银河麒麟(内核CentOS8)安装rbenv、ruby2.6.5和rails5.2.6
linux·centos·银河麒麟·rbenv·ruby2.6.5·rails 5.2.6
深夜情感老师5 小时前
centos离线安装ssh
linux·centos·ssh
我的作业错错错5 小时前
搭建私人网站
服务器·阿里云·私人网站
王景程5 小时前
如何测试短信接口
java·服务器·前端
秦始皇爱找茬5 小时前
docker部署Jenkins工具
docker·容器·jenkins
微网兔子6 小时前
伺服器用什么语言开发呢?做什么用什么?
服务器·c++·后端·游戏
一眼青苔7 小时前
切割PDF使用python,库PyPDF2
服务器·python·pdf