docker环境搭建
docker介绍
Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
白话解释:docker可以理解成是手机中的应用市场,有了应用市场,就不用自己一个一个百度搜索软件并下载了,直接在应用市场中可以一键下载!
白话作用:docker帮助我们安装微服务开发需要的中间件,使用简单的命令控制docker安装即可,不需要自己手动安装!
docker安装
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、设置docker仓库
yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 --skip-broken
3、配置yum阿里镜像
# 设置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
4、安装docker
yum install -y docker-ce
5、启动docker
systemctl enable docker #设置开机启动
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
docker -v
6、配置docker阿里镜像,提升下载速度
mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://as08lme3.mirror.aliyuncs.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com" ] } EOF systemctl daemon-reload systemctl restart docker
7、docker命令
#镜像仓库地址 http://hub.docker.com #构建镜像 docker build #推送镜像 docker push #拉取镜像 dockerspull #查看镜像 docker images #删除镜像 docker rmi #保存镜像为一个压缩包 docker save #加装压缩包为镜像 docker load #运行容器 docker run #开始运行容器 docker start #停止运行容器 docker stop #查看容器 docker ps -a
#删除容器
docker rm name #进入容器内部 docker exec -it 容器名 bash #安装nginx容器,并且将html文件夹关联到volume上 创建容器并挂载数据卷到容器内的HTML目录 docker run --name mn -v html:/usr/share/nginx/html -p 80:80 -d nginx #进入html数据卷所在位置,并修改HTML内容 # 查看html数据卷的位置 docker volume inspect html # 进入该目录 cd /var/lib/docker/volumes/html/_data # 修改文件 vi index.html
8、mariadb 安装
#拉取镜像 docker pull mariadb #容器运行 mkdir -p /root/docker/mariadb/data
docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=输入数据库root用户的密码 -v /root/docker/mariadb/data:/var/lib/mysql -d mariadb --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci –name启动容器设置容器名称为mariadb -p设置容器的3306端口映射到主机3306端口,例如:-p后边的5000:80代表把容器里的80端口映射给宿主机的5000端口。 -e MYSQL_ROOT_PASSWORD设置环境变量数据库root用户密码为输入数据库root用户的密码 -v设置容器目录/var/lib/mysql映射到本地目录/root/docker/mariadb/data -d后台运行容器mariadb并返回容器id
#容器id 修改容器为自启动 docker container update --restart=always 容器id/容器name
9、安装docker compose
#1.下载docker compose curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose #慢的话可以用这个 curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose #2.授予权限 chmod +x /usr/local/bin/docker-compose #3.测试安装结果 docker-compose --version