常用管理命令
docker image COMMAND
| 指令 | 描述 |
|---|---|
| ls | 列出镜像 |
| build | 构建镜像来自Dockerfile |
| history | 查看历史镜像 |
| inspect | 显示一个或多个镜像详细信息 |
| pull | 从镜像仓库拉取镜像 |
| push | 推送一个镜像到镜像仓库 |
| rm | 移除一个或多个镜像 |
| prune | 移除没有被标记或没有被任何容器引用的镜像 |
| tag | 创建一个引用源镜像标记目标镜像 |
| save | 保存一个或多个镜像到一个tar归档文件 |
| load | 加载镜像来自tar归档或者标准输入 |
docker image prune -a

docker image save 和 docker image load 用于讲镜像导入到不能上网的机器进行运行
归档:
docker save redis -o redis.tar

传输:
scp 传输
导入镜像:
docker load -i redis.tar
创建容器常用选项
命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
| 选项 | 描述 |
|---|---|
| -i,-intercative | 交互式 |
| -t,-tty | 分配一个伪终端 |
| -d,-detach | 运行容器到后台 |
| -e,-env | 设置环境变量 |
| -p,-publish list | 发布容器端口到主机 |
| -P,-publish-all | 发布容器所有EXPOSE的端口到宿主机随机端口 |
| --name string | 指定容器名称 |
| -h,-hostname | 设置容器主机 |
| --ip string | 指定容器ip,只能用于自定义网络 |
| --network | 连接容器到一个网络 |
| -v,-volume list;--mount mount(新方式) | 将文件系统附加到容器 |
| --restart string | 容器退出时重启策略,默认no,可选值:[always,on-fail] |
| -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-share | CPU共享(相对权重) |
容器管理命令
命令格式:docker container COMMAND
| 选项 | 描述 |
|---|---|
| ls | 列出容器 |
| inspect | 查看一个或多个容器详细信息 |
| exec | 在运行容器中执行命令 |
| commit | 创建一个镜像来自一个容器 |
| cp | 拷贝文件/文件夹到一个容器 |
| logs | 获取一个容器日志 |
| port | 列出或指定容器端口映射 |
| top | 显示一个容器运行的进程 |
| stats | 显示容器资源使用统计 |
| stop/start/restart | 停止/启动一个或多个容器 |
| rm | 删除一个或多个容器 |
| prune | 移除已停止的容器 |
容器数据持久化
Docker提供2种方式将数据从宿主机挂载到容器中:
volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。
bind mounts:将宿主机上的任意位置的文件或者目录挂载到容器中。
volumes示例:
0、创建数据卷
# docker volume create nginx-vol
# docker volume ls
# docker volume inspect nginx-vol
1、挂载宿主机目录到容器
# docker run -d --name=nginx-test --mount
type=bind,src=/app/wwwroot,dst=/usr/share/nginx/html nginx
# docker run -d --name=nginx-test -v
/app/wwwroot:/usr/share/nginx/html nginx
2、使用数据卷 bind mounts示例:
# docker run -d --name=nginx-test --mount src=nginxvol,dst=/usr/share/nginx/html nginx
# docker run -d --name=nginx-test -v nginxvol:/usr/share/nginx/html nginx
容器网络
安装harbor
Harbor是由VMWare公司开源的容器镜像仓库。事实上,Harbor是在Docker Registry上进行了相应的企业级扩展,
从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及
审计日志等,足以满足基本企业需求。
官方:https://goharbor.io/
Github:https://github.com/goharbor/harbor
先决条件
服务器硬件配置:
• 最低要求:CPU2核/内存4G/硬盘40GB
• 推荐:CPU4核/内存8G/硬盘160GB
软件:
• Docker CE 17.06版本+
• Docker Compose 1.18版本+
Harbor安装有2种方式:
• 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
• 离线安装:安装包包含部署的相关镜像,因此安装包比较大
1、先安装Docker和Docker Compose
https://github.com/docker/compose/releases
2、部署Harbor HTTPtar zxvf harbor-offline-installer-v2.0.0.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml
vi harbor.yml
hostname: reg.ctnrs.com
https: # 先注释https相关配置
harbor_admin_password: Harbor12345./prepare
./install.sh
harbor使用
1、配置http镜像仓库可信任
vi /etc/docker/daemon.json
{"insecure-registries":["reg.ctnrs.com"]}
systemctl restart docker
2、打标签
docker tag centos:7 reg.ctnrs.com/library/centos:7
3、上传
docker push reg.ctnrs.com/library/centos:7
4、下载
docker pull reg.ctnrs.com/library/centos:7
浙公网安备 33010602011771号