当前位置:   article > 正文

centos7 docker简单安装及使用_portainer 更新镜像

portainer 更新镜像

安装docker:

#首先更新yum源 以及支持devicemapper存储类型
yum update
yum install -y yum-utils device-mapper-persistent-data lvm2
#添加docker稳定版本的yum软件源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#更新yum源 
yum update
#安装docker
yum install -y docker-ce
#启动docker
systemctl start docker
#查看状态
systemctl status docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

使用docker镜像:

#下载镜像 name:tag name是镜像名称 tag是标签
docker pull ubuntu:18.04
#不添加tag则下载最新镜像
docker pull ubuntu
#严格的下载方式 还需添加镜像地址 默认是官方dockerHub
docker pull hub.c.163.com/public/ubuntu:18.04

#列出本机已下载镜像
docker images
#获取镜像信息 元数据
docker inspect hello-world
#搜索镜像
docker search nginx
#删除已下载镜像
docker rmi nginx:1.17.9
#删除所有没有使用镜像和临时镜像
docker image prune -a
#查看本机所以运行的docker容器
docker ps -a
#删除docker容器
docker rm fdc8ba8c70c9
#删除所有已停止容器
docker rm $(docker ps -a -q)

#导出镜像到本地指定文件
docker save -o mysql_latest.tar mysql:latest
#从本地文件导入到本地镜像库
docker load -i mysql_latest.tar

#从已有容器创建镜像 -m 信息 -a 作者 customize:001  镜像名:标签
docker commit -m "add a new imageFile" -a "terry" f2062f87f1dc customize:001
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

#从dockerfile构建镜像 也是最常用的构建方式

#创建dockerfile目录 此目录不要放无用的文件,因为会一起打包发送给 docker 引擎,如果文件过多会造成过程缓慢
mkdir dockerfile
#创建dockerfile文件
vi dockerfile
  • 1
  • 2
  • 3
  • 4

dockerfile 内容

#基于centos基础镜像创建
FROM centos
#选择工作目录 
WORKDIR /root
#复制本地文件到镜像 如果镜像内无此目录会新建
COPY world.txt /root/
#执行的指令 类似docker run 后边运行的命令
RUN cd ~ && yum install wget && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" && tar -xvf redis.tar.gz
#类似RUN 类似于 RUN 指令,用于运行程序,但二者运行的时间点不同:CMD 在docker run 时运行。 RUN 是在 docker build。多个CMD 只执行最后一个 前边的会被覆盖 如果运行 docker run 后边有命令也会覆盖它 注意:为启动的容器指定默认要运行的程序,程序运行结束,容器也就结束
CMD cd ~ && ls -al && pwd

#构建镜像 .为指定的目录 为当前目录 默认不填也是当前dockerfile目录 
docker build -t centos:test .
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

设置docker开机启动以及容器开机自启动 centos7为例

#设置docker 开机启动
systemctl enable docker
#查看状态 是否更改
systemctl status docker
#输出一下内容 即为修改成功
 Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
#设置容器开机自启 以mysql为例 曾加--restart=always设置即可
docker run -itd --name mysql5.7 --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

docker 更换镜像源
因docker官方镜像在国外 不是很稳定下载速度慢 所以我改成了国内中科大镜像数据源

#改文件daemon.json 没有就创建一个
vim /etc/docker/daemon.json
#添加如下内容
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}
#重启docker
systemctl daemon-reload
systemctl restart docker
#改完镜像源 下载快很多
#查看是否修改成功
docker info
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

1.Docker中国区官方镜像
https://registry.docker-cn.com

2.网易
http://hub-mirror.c.163.com

3.ustc
https://docker.mirrors.ustc.edu.cn

4.中国科技大学
https://docker.mirrors.ustc.edu.cn

5.阿里云容器 生成自己的加速地址

登录:cr.console.aliyun.com

使用docker图形界面管理工具portainer

#下载镜像
docker pull portainer/portainer
#添加数据卷
docker volume create portainer_data
#启动容器
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
#--restart选项,可以设置容器的重启策略,以决定在容器退出时Docker守护进程是否重启刚刚退出的容器
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在浏览器里输入 http://ip:9000
在这里插入图片描述第一次登陆需要设置账号密码注册 然后就可以登录使用

查看镜像tag的方法
要想查看镜像的版本好TAG,需要在docker hub查看
打开链接https://hub.docker.com/u/library
进入之后,在页面左上角搜索框搜索
在这里插入图片描述例如搜索nginx
在这里插入图片描述点击tags 即可查看相应tag信息

docker搭建本地镜像仓库
访问地址:http://ip:5000/v2/_catalog

# 拉取registry镜像
docker pull registry
# 查看registry镜像
docker images
# 创建存放镜像文件目录
mkdir /data/docker_regitry
# 创建容器
docker run -d -p 5000:5000 --name=docker_registry --restart=always --privileged=true  -v /data/docker_regitry:/var/lib/registry  docker.io/registry
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Docker 开启2375端口,提供外部访问docker 以便docker-maven-plugin 推送到docker 私有仓库

# 编辑docker.service
vim /usr/lib/systemd/system/docker.service
# ExecStart改成以下内容
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
# 加载配置
systemctl daemon-reload
# 重启docker
systemctl restart docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

附/etc/docker/daemon.json详细配置

{
    "log-driver": "json-file",
    "log-opts": {   # 用于限制容器日志的大小
        "max-size": "1024m",
        "max-file": "5"
    },
    "data-root": "/home/docker",  # Docker运行时使用的根路径,默认/var/lib/docker
    "registry-mirrors": [ # 国内镜像源地址
        "https://6ilfxdbt.mirror.aliyuncs.com"
    ],
    "insecure-registries": [    # 私有仓库的服务地址
        "ip:5000"
    ],
    "experimental": true
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

docker compose 安装

# github 下载二进制文件
curl -L https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 添加可执行权限
chmod +x /usr/local/bin/docker-compose
# 测试
docker-compose --version
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

docker-compose简单使用

# 查看配置文件是否合格 注意 以下命令 如果不指定配置文件 默认启动docker-compose.yml
docker-compose -f gitlab.yml config
# 从指定文件运行
docker-compose -f gitlab.yml up -d
# 查看运行的容器
docker-compose -f gitlab.yml ps
# 停止运行的容器
docker-compose -f gitlab.yml stop
# 启动运行的容器
docker-compose -f gitlab.yml start
# 停止和删除容器、网络、卷、镜像。
docker-compose -f gitlab.yml down
# 查看日志 -f 实时输出日志
docker-compose logs -f
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

附上docker-compose.yml

version: '3'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: 'gitlab'
    restart: always
    environment: 
      GITLAB_OMNIBUS_CONFIG: |
         external_url 'http://192.168.140.3:8929'
         gitlab_rails['gitlab_shell_ssh_port']=2224              
    ports:
      - '8929:8929'
      - '2224:2224'
    volumes:
      - './config:/ect/gitlab'
      - './logs:/var/log/gitlab'
      - './data:/var/opt/gitlab'   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号