赞
踩
#首先更新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
#下载镜像 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
#从dockerfile构建镜像 也是最常用的构建方式
#创建dockerfile目录 此目录不要放无用的文件,因为会一起打包发送给 docker 引擎,如果文件过多会造成过程缓慢
mkdir dockerfile
#创建dockerfile文件
vi dockerfile
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 .
设置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
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.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守护进程是否重启刚刚退出的容器
在浏览器里输入 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
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
附/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
}
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
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
附上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'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。