docker相关
centos安装
1.安装使用 rpm的安装方式
1.1下载rpm包
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
1.2安装
在上面下载的rpm包的目录下执行一下命令
yum install -y *
3.设置dokcer开机启动
systemctl start docker
systemctl enable docker
免sudo使用docker命令
- 添加docker group
sudo groupadd docker
- 将用户加入改docker内,然后退出重新登陆就生效啦
sudo gpasswd -a ${user} docker
- 重启docker服务
sudo service docker restart
- 切换当前会话到新group或者重启x会话
newgrp - docker
安装docker-compose
- 下载docker-compose-Linux-x86_64文件
- 上传文件到服务器/usr/local/bin目录
- 重命名 mv docker-compose-Linux-x86_64 docker-compose
- 修改权限 sudo chmod +x /usr/local/bin/docker-compose
- 执行命令查看docker-compose版本 docker-compose --version
从私仓pull镜像
- 登陆
docker login -u username -p password ${you private registry url}
- pull镜像
docker pull you private registry url/镜像所在的项目/镜像名:标签
推送到私仓
- 登陆
docker login -u username -p password ${you private registry url}
指定要推送镜像到的地址
- 修改本地镜像的registry,tag
如我们harbor地址为${you private registry url}
推送到仓库的test项目里
// xxx为镜像的名 如果没有Tag则tag为latest
docker tag xxxx ${you private registry url}/test/xxx:tag
- 推送到私仓
docker push ${you private registry url}/test/xxx:tag
搭建私仓
-
下载harbor离线安装包https://github.com/goharbor/harbor/releases/download/v1.10.1/harbor-offline-installer-v1.10.1.tgz
-
解压下载的包
tar zxf harbor-offline-installer-v1.10.1.tgz
- 注释掉harbor.yml下的https相关属性(测试环境下为了方便只使用http)
- 安装harbor
执行解压后目录里的install.sh
显示成功,则表示安装成功,
docker ps 看到启动了很多harbor相关的容器
docker相关概念
- 仓库(registry)
存储镜像集合就像代码的github一样 - 镜像(images)
相当于一个root文件系统,有ubuntu,centos,mysql,redis,jdk镜像等,你也可以构建自己的镜像 - 容器(container)
如果镜像是类的话,那么容器就是类的实例化,镜像是静止的,容器是动态的
docker命令
查看运行的docker
docker ps
查看所有容器
docker ps -a
进入对应的DOCKER
docker exec -it docker_id /bin/bash
启动容器
docker run -it ubuntu /bin/bash
启动已停止运行的容器
docker start containerId
后台运行
docker run -itd --name 指定名字 ubuntu /bin/bash
停止一个容器
docker stop containerId
重启
docker restart containerId
进入容器
docker attach containerId
//这种方式就进入容器后,exit退出后会导致容器停止
使用Dockerfile构建镜像
// 使用当前目录的Dockerfile创建镜像
docker build --tag name:tag
删除容器
//删除容器时(强制删除,如果容器已停止可以不需要force)
docker rm -force containerId
docker rm --force containerName
删除镜像
docker rmi repositoryName
启动docker服务
sudo systemctl start docker
重新加载docker
systemctl daemon-reload
重启docker服务
systemctl restart docker
查看docker版本信息
docker version
查看docker服务的信息
docker info
###查看属性 Registry
dockers info
获取镜像
docker pull ubuntu
// 等于 docker pull ubuntu:latest
在宿主机执行docker内部命令
docker exec containerId command
从宿主机符复制文件到运行中的容器
docker cp 宿主机源文件 containerId/containerName:容器目标目录
docker cp sourceFle containerId/containername:DesFile
harbor关闭与启动
//关闭
docker-compose down -v
// 启动
docker-compose up -d
docker run 命令
基本执行命令: docker run -it imagesName /bin/bash
更多参数:
-i: keep STDIN open if not attached 以交互模式运行容器
-t: allocate a pseudo-TIY 为容器重新分配一个伪输入终端
-v: bind mount a volume 绑定宿主机的一个目录
-w: working directory inside the container 设置容器的工作目录
docker inspect
获取容器/镜像元数据
docker inspect imagename
批量删除镜像
// 其中hub为关键词,删除有hub的镜像
docker rmi --force `docker images | grep hub | awk'{print $3}' `
// 删除名为none的镜像
docker rmi --force `docker images |grep "none" | awk '{print $3}'`
从公网拉镜像
从公网拉镜像: docker pull openjdk:18-slim-buster
如果报: unauthorized : incorrect username or password
退出再次登陆即可: docker logout
构建镜像
docker build -f Dockerfile -t imageaname .
删除镜像
docker rmi imageaname
查看容器的日志
// 当容器启动失败,要查看日志信息
//查看containerID
docer ps -a
docker log containerId
参考
https://goharbor.io/docs/1.10/install-config/download-installer/
https://docs.docker.com/engine/docker-overview/