Docker安装、常用命令、搭建私有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
 
posted on 2023-08-31 11:26  ”懒羊羊“学Java  阅读(296)  评论(0编辑  收藏  举报