常用管理命令

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 HTTP

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: # 先注释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