Docker
使用最广泛的开源容器引擎,一种操作系统级的虚拟化技术,依赖于Linux内核特性:Namespace(资源隔离)和Cgroups(资源限制),一个简单的应用程序打包工具
一、Docker镜像管理
$ 命令格式:docker image COMMAND(命令)
指令 |
描述 |
ls |
列出镜像 |
build |
构建镜像来自DOckerfile |
history |
查看镜像历史 |
inspect |
显示一个或多个镜像详细信息 |
pull |
从镜像仓库拉取镜像 |
push |
推送一个镜像到镜像仓库 |
rm |
移除一个或多个镜像 |
prune |
移除没有被标记或者没有被任何容器引用的镜像 |
tag |
创建一个引用源镜像标记目标镜像 |
save |
保存一个或多个镜像到一个tar归档文件 |
load |
加载镜像来自tar归档或标准输入 |
二、Docker容器管理
$ 命令格式:docker run [OPTIONS](选项) IMAGE [COMMAND](命令) [ARG...]
选项 |
描述 |
-i,-interactive |
交互式 |
-t, –tty |
分配一个伪终端 |
-d, –detach |
运行容器到后台 |
-e, –env |
设置环境变量 |
-p, –publish list |
发布容器端口到主机 |
-P, –publish-all |
发布容器所有EXPOSE的端口到宿主机随机端口 |
–name string |
指定容器名称 |
-h, –hostname |
设置容器主机名 |
–ip string |
指定容器IP,只能用于自定义网络 |
–network |
连接容器到一个网络 |
-v, –volume list |
将文件系统附加到容器 |
–restart string |
容器退出时重启策略,默认no,可选值:[always|on-failure] |
-m,–memory |
容器可以使用的最大内存量 |
-memory-swap |
允许交换到磁盘的内存量 |
-memory-swappiness=<0-100> |
容器使用SWAP分区交换的百分比(0-100,默认为-1) |
-oom-kill-disable |
禁用OOM Killer |
–cpus |
可以使用的CPU数量 |
-cpuset-cpus |
限制容器使用特定的CPU核心,如(0-3, 0,1) |
-cpu-shares |
CPU共享(相对权重) |
$ 命令格式:docker container COMMAND
选项 |
描述 |
ls |
列出容器 |
inspect |
查看一个或多个容器详细信息 |
exec |
在运行容器中执行命令 |
commit |
创建一个新镜像来自一个容器 |
cp |
拷贝文件/文件夹到一个容器 |
logs |
获取一个容器日志 |
port |
列出或指定容器端口映射 |
top |
显示一个容器运行的进程 |
stats |
显示容器资源使用统计 |
stop/start/restart |
停止/启动一个或多个容器 |
rm |
删除一个或多个容器 |
prune |
移除已停止的容器 |
三、Dockerfile构建镜像
$ 命令格式: docker build [OPTIONS] PATH | URL | - [flags]
Options:
-t, --tag list
-f, --file string
指令 |
描述 |
FROM |
构建新镜像是基于哪个镜像 |
LABEL |
标签 |
RUN |
构建镜像时运行的Shell命令 |
COPY |
拷贝文件或目录到镜像中 |
ADD |
解压压缩包并拷贝 |
ENV |
设置环境变量 |
USER |
为RUN、CMD和ENTRYPOINT执行命令指定运行用户 |
EXPOSE |
声明容器运行的服务端口 |
WORKDIR |
为RUN、CMD、ENTRYPOINT、COPY和ADD设置工作目录 |
CMD |
运行容器时默认执行,如果有多个CMD指令,最后一个生效 |
四、Harbor镜像仓库搭建与使用
$ tar zxvf harbor-offline-installer-v2.0.0.tgz
$ cd harbor
$ cp harbor.yml.tmpl harbor.yml
$ vi harbor.yml
hostname: reg.ctnrs.com
https:
harbor_admin_password: Harbor12345
$ ./prepare
$ ./install.sh
$ vim /etc/docker/daemon.json
{"insecure-registries":["reg.ctnrs.com"]}
$ systemctl restart docker
docker tag centos:7 reg.ctnrs.com/library/centos:7
$ docker push reg.ctnrs.com/library/centos:7
$ docker pull reg.ctnrs.com/library/centos:7
作者:admin 创建时间:2023-04-27 13:42
最后编辑:admin 更新时间:2024-07-17 15:26