linux cpu占用率如何看
290
2022-10-28
安装Docker.v19和配置Docker Compose编排工具
博文目录 一、Compose简介 二、安装Docker 1、安装19.03.9版本Docker 2、配置镜像加速 三、安装使用Docker Compose 1、Github下载Docker Compose 2、道云下载Docker Compose 四、编写.yml文件 1、.yml文件构建简单的Nginx服务 2、compose+dockerfile构建镜像 3、使用.yml文件搭建博客平台
一、Compose简介
Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,可以使用YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。
Docker-Compose是一个容器编排工具。通过一个.yml或.yaml文件,将所有的容器的部署方法、文件映射、容器端口映射等情况写在一个配置文件里,执行docker-compose up命令就像执行脚本一样,一个一个的安装并部署容器。
YAML文件基本语法: 大小写敏感; 使用缩进表示层级关系; 缩进不允许使用tab,只允许空格; 缩进的空格数不重要,只要相同等级的元素左对齐即可; “#”表示注释;
Docker Compose将所管理的容器分为三层:
项目(project); 服务(service); 容器(container);
docker compose运行目录下的所有yml文件组成一个项目,一个项目包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。一个服务可包括多个容器实例。
docker-compose就是docker容器的编排工具,主要就是解决相互有依赖关系的多个容器的管理。
二、安装Docker
服务器为CentOS7.4;Docker版本为19.03.9
1、安装19.03.9版本Docker
[root@centos01 ~]# cd /etc/yum.repos.d/ [root@centos01 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo [root@centos01 yum.repos.d]# curl -o /etc/yum.repos.d/docker.ce.repo [root@centos01 ~]# yum -y install docker-ce yum-utils device-mapper-persitent-data lvm2 [root@centos01 ~]# docker version Client: Docker Engine - Community Version: 19.03.9 API version: 1.40 Go version: go1.13.10 Git commit: 9d988398e7 Built: Fri May 15 00:25:27 2020 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.9 API version: 1.40 (minimum version 1.12) Go version: go1.13.10 Git commit: 9d988398e7 Built: Fri May 15 00:24:05 2020 OS/Arch: linux/amd64 [root@centos01 ~]# systemctl start docker [root@centos01 ~]# systemctl enable docker
2、配置镜像加速
接下来启用道云提供的下载镜像加速功能(阿里也提供了该功能,我这里就写道云了)。道云加速器网址:~]# curl -sSL | sh -s docker version >= 1.12 {"registry-mirrors": ["http://f1361db2.m.daocloud.io"]} Success. You need to restart docker to take effect: sudo systemctl restart docker [root@centos01 ~]# cat /etc/docker/daemon.json {"registry-mirrors": ["http://f1361db2.m.daocloud.io"]} [root@centos01 ~]# systemctl restart docker
三、安装使用Docker Compose
1、Github下载Docker Compose
下载compose工具时,需先查看本机的docker版本!
[root@centos01 ~]# docker -v Docker version 19.03.9, build 9d988398e7
如果docker版本过低,可以自行查找其他版本的docker-compose工具。选择合适的版本之后,执行在github网站上找到的命令。
[root@centos01 ~]#curl -L -s`-`uname -m` -o /usr/local/bin/docker-compose [root@centos01 ~]#chmod +x /usr/local/bin/docker-compose
2、道云下载Docker Compose
如果网速不佳下载失败可以选择一下方式下载:(个人比较推荐一下方式下载)
[root@centos01 ~]# curl -L -s`-`uname -m` > /usr/local/bin/docker-compose [root@centos01 ~]# docker-compose -v docker-compose version 1.25.5, build 8a1c60f6
可以通过修改URL中的版本,可以自定义您的需要的版本。执行上面的两条命令后,我们就可以使用docker-compose这个编排工具了。
四、编写.yml文件
1、.yml文件构建简单的Nginx服务
[root@centos01 ~]# vim /root/.vimrc set tabstop=2 [root@centos01 ~]# source /root/.vimrc [root@centos01 ~]# mkdir docker_compose [root@centos01 ~]# cd docker_compose/ [root@centos01 docker_compose]# vim docker-compose.yml version: "3" services: nginx: container_name: nginx image: nginx:latest restart: always ports: - 80:80 volumes: - /root/compose_test/webserver:/usr/share/nginx/html [root@centos01 docker_compose]# docker-compose up -d [root@centos01 docker_compose]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a4d71936dd12 nginx:latest "nginx -g 'daemon of…" 46 seconds ago Up 45 seconds 0.0.0.0:80->80/tcp nginx [root@centos01 docker_compose]# echo "docker-compose.com" > webserver/index.html [root@centos01 docker_compose]# curl docker-compose.com [root@centos01 docker_compose]# docker-compose stop Stopping nginx ... done [root@centos01 docker_compose]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@centos01 ~]# docker-compose -f docker_compose/docker-compose.yml up -d
2、compose+dockerfile构建镜像
[root@centos01 ~]# mkdir compose && cd compose [root@centos01 compose]# vim Dockerfile FROM nginx:latest ADD html /usr/share/nginx/html [root@centos01 compose]# vim docker-compose.yml version: '3' services: nginx: build: . container_name: nginx001 image: nginx001 restart: always ports: - 8080:80 [root@centos01 compose]# mkdir html [root@centos01 compose]# echo "nginx.8080.com" > html/index.html [root@centos01 compose]# docker-compose up -d [root@centos01 compose]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1428cd1ab7de nginx001 "nginx -g 'daemon of…" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp nginx001 a4d71936dd12 nginx:latest "nginx -g 'daemon of…" 18 minutes ago Up 15 minutes 0.0.0.0:80->80/tcp nginx [root@centos01 compose]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx001 latest 55b8bd0a4a59 About a minute ago 127MB nginx latest 9beeba249f3e 5 days ago 127MB [root@centos01 compose]# curl nginx.8080.com [root@centos01 compose]# docker-compose stop Stopping nginx001 ... done [root@centos01 ~]# docker-compose -f compose/docker-compose.yml up -d Starting nginx001 ... done
3、使用.yml文件搭建博客平台
[root@centos01 ~]# mkdir wordpress && cd wordpress [root@centos01 wordpress]# vim docker-compose.yml version: '3.1' services: wordpress: image: wordpress restart: always ports: - 1111:80 environment: WORDPRESS_DB_HOST: mysql WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: pwd@123 WORDPRESS_DB_NAME: wordpress mysql: image: mysql:5.6 restart: always command: --character-set-server=utf8 environment: MYSQL_ROOT_PASSWORD: pwd@123 MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: pwd@123 [root@centos01 wordpress]# docker-compose up -d [root@centos01 wordpress]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a93858ade399 wordpress "docker-entrypoint.s…" 28 seconds ago Up 27 seconds 0.0.0.0:1111->80/tcp wordpress_wordpress_1 cec94e3bd0ee mysql:5.6 "docker-entrypoint.s…" 28 seconds ago Up 27 seconds 3306/tcp wordpress_mysql_1 [root@centos01 wordpress]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 5.6 9e4a20b3bbbc 10 hours ago 302MB wordpress latest 675af3ca3193 5 days ago 540MB [root@centos01 wordpress]# netstat -anptu |grep 1111 tcp6 0 0 :::1111 :::* LISTEN 119795/docker-proxy [root@centos01 wordpress]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf [root@centos01 wordpress]# sysctl -p net.ipv4.ip_forward = 1
客户端访问http://192.168.100.10:1111
——————————本文到此结束,感谢观看——————————
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~