Docker安装、常用命令、搭建私有Docker镜像仓库
一、安装Docker(centos7的内核不低于3.10)
1. 卸载
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine \ docker-ce
2. 安装
yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 --skip-broken
3. 更新本地镜像源
# 设置docker镜像源 yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo yum makecache fast
安装社区版
yum install -y docker-ce
4. 启动Docker
# 关闭 systemctl stop firewalld # 禁止开机启动防火墙 systemctl disable firewalld systemctl start docker # 启动docker服务 systemctl stop docker # 停止docker服务 systemctl restart docker # 重启docker服务 # 查看docker是否启动 # 1. docker -v # 2. systemctl status docker
5. 配置镜像加速
参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
二、Docker常用命令
# 1. 启动一个新的容器 docker run --name mynginx -p 8080:80 -d nginx:latest 参数说明: -d:后台运行容器 -p:端口映射 主机端口:容器端口 --name:指定容器名 nginx:latest:指定使用的镜像 # 2.停止一个运行的容器 docker stop mynginx # 3.删除容器 docker rm -f mynginx 或 docker rm [容器ID] 参数说明: -f:强制删除 # 4.列出所有的容器 docker ps -a # 5.列出本地镜像 docker images # 6.查看指定的镜像 docker images | grep nginx # 7.镜像仓困拉取 docker pull nginx # 8.本地构建新镜像 docker build -t mynginx . 参数说明: -t:指定镜像名 . :指定构建上下文路径 # 9.查看容器或镜像详细信息 docker inspect mynginx # 10.查看容器日志 docker logs mynginx # 11.在运行的容器中执行命令 docker exec -it mynginx bash # 12.创建数据卷 docker volume create test # 13.查看数据卷 docker volume ls # 14.查看某一个卷的详细信息 docker volume inspect test # 15.docker-compose部署多个容器 docker-compose up -d # 16.搜索镜像 docker search # 17.保存镜像 docker save mysql -o ./mysql.tar # 18.加载镜像 docker load -i ./mysql.tar # 19.镜像标签 docker tag mysql:latest mysql:test1.0 # 20.查看容器日志 docker logs -f --tail=日志数量 容器ID/容器名称 # 21.查看docker工作目录 sudo docker info | grep "Docker Root Dir" # 22.查看docker磁盘占用总体情况 du -hs /var/lib/docker # 23.查看docker磁盘使用具体情况 docker system df # 24.删除异常停止的容器 docker rm `docker ps -a | grep. Exited | awk '{print $1}'` # 25.查找大文件 find / -type f -size +100M -print0 | xargs -0 du -h |sort -nr # 26.查找指定docker使用目录下大于指定大小文件 #查找‘/var/lib/docker/overlay2/*’开头且文件大小大于100MB的文件 find / -type f -size +100M -print0 | xargs -0 du -h |sort -nr | grep '/var/lib/docker/overlay2/*'
三、带有图形化界面私有镜像仓库
1. 配置Docker信任地址
# 打开要修改的文件 vi /etc/docker/daemon.json # 添加内容: "insecure-registries":["http://自己的主机ip:8080"] # 重加载 systemctl daemon-reload # 重启docker systemctl restart docker
2. 创建一个docker-compose-registry的yml文件,内容如下:
version: '3.0' services: registry: image: registry volumes: - ./registry-data:/var/lib/registry ui: image: joxit/docker-registry-ui:static ports: - 8080:80 environment: - REGISTRY_TITLE=Docker私有镜像仓库 - REGISTRY_URL=http://registry:5000 depends_on: - registry