博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker+数据卷+Dockerfile自定义镜像+Docker-Compose+部署项目
阅读量:3961 次
发布时间:2019-05-24

本文共 3855 字,大约阅读时间需要 12 分钟。

标题

1.Docker环境部署

1.下载Dovker依赖环境

yum -y install yum-utils device-mapper-persistent-data lvm2

2.指定DOcker镜像源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装Docker

yum makecache fast

yum -y install docker-ce

4.启动DOcker并测试

systemctl start docker

2.镜像操作:

搜索:docker search tomcat

下载:docker pull hello-world(镜像名称)

查看所拥有的镜像:docker images

删除镜像:docker rmi bf756fb1ae65(镜像ID)

导出镜像:docker save -o 镜像ID 路径

加载镜像:docker load -i hello-world

修改镜像名称:docker tag bf756fb1ae65(镜像ID) hello-springboot(新名称):1.0(版本号)

3.容器操作:

直接运行:docker run (-d后台 -p映射)镜像id

运行容器:docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[:tag]

查看当前运行的容器: docker ps -a

停止当前的容器:docker stop 409682aee9f5(容器ID)

删除容器:docker rm 409682aee9f5(容器ID)

也可以直接运行镜像:docker run 镜像id 如果没有镜像,则自动下载

查看容器日志:docker logs -f 容器ID

进入容器内部:docker exec -it 容器id bash

复制内容到容器:docker cp 文件名称 容器ID:容器内部路径

启动停止的容器:docker start 容器ID

重新启动容器:docker restart 容器ID

4.下载并运行Tomcat和mysql

下载tomcat: docker pull tomcat:8.5.15-jre8

运行tomact:docker run -d -p 8080:8080 --name tomcat b8dfe9ade316

下载mysql: docker pull mysql:5.7.4

运行mysql: docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 aa5364eb3d85

5.数据卷

创建数据卷:docker volume create webapps

创建完成默认路径位:/var/lib/docker/volumes 数据卷名称/_data

查看数据卷详情: docker volume inspect webapps

查看所有的数据卷:docker volume ls

删除数据卷:docker volume rm webapps(名称)

容器映射数据卷:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JixAnMNW-1600950622298)(C:\Users\Lenovo、\AppData\Roaming\Typora\typora-user-images\image-20200924174451897.png)]

方式一:通过数据卷名映射

docker run -d -p 8080:8080 --name tomcat -v webapps(数据卷名称):/usr/local/tomcat/webapps(容器内部的命令) b8dfe9ade316(镜像ID)

复制到数据卷:

cp springboot.war /var/lib/docker/volumes/webapps/_data

方式二:通过路径映射数据

docker run -d -p 8080:8080 --name tomcat -v /opt/webapps(路径名称):/usr/local/tomcat/webapps(容器内部的命令) b8dfe9ade316(镜像ID)

cp springboot.war /opt/webapps

但是这个路径下是空的。

6.Dockerfile自定义镜像

1.创建文件:touch Dockerfile

2.编辑:vi Dockerfile

from daocloud.io/library/tomcat:8.5.15-jre8

cp springboot.war /usr/local/tomcat/webapps

3.创建:docker build -t tomcat(名称):1.0(版本) .(点)

4.运行:docker run -d -p 8080:8080 --name tomcat b8dfe9ade316

7.Docker-Compose

批量管理容器

1.上传docker-compose-Linux-x86_64

重命名: mv docker-compose-Linux-x86_64 docker-compose

2.移动:mv docker-compose /usr/local/bin

3.配置:vi /etc/profile

export PATH= J A V A H O M E : / u s r / l o c a l / b i n : JAVA_HOME:/usr/local/bin: JAVAHOME:/usr/local/bin:PATH

刷新: source /etc/profile

4.设置权限:

[root@iZ1sjqi6uiozyqZ jdk1.8.0_161]# cd /usr/local/bin

[root@iZ1sjqi6uiozyqZ bin]# ls
docker-compose
[root@iZ1sjqi6uiozyqZ bin]# chmod 777 docker-compose

5.测试:docker-compose

6.上传docker-compose.yml:

version: '3.1'services:    mysql:        restart: always   # 代表只要docker启动,那么这个容器就跟着一起启动        image: daocloud.io/library/mysql:5.7.4  # 指定镜像路径        container_name: mysql        ports:           - 3306:3306        environment:            MYSQL_ROOT_PASSWORD: 123456            TZ: Asia/Shanghai        volumes:            - /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql   # 映射数据卷    tomcat:        restart: always        image: daocloud.io/library/tomcat:8.5.15-jre8        container_name: tomcat        ports:           - 8080:8080        environment:            TZ: Asia/Shanghai        volumes:            - /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps            - /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs

7.启动管理容器:docker-compose up -d

8.关闭并删除容器:docker-compose down

开启/关闭/重启已经存在的由docker-compose维护的容器

docker-compose start|stop|restart

9.查看由docker-compose管理的容器

docker-compose ps

10.查看日志:docker-compose logs -f

11.部署项目:

cp springboot.war /opt/docker_mysql_tomcat/tomcat_webapps

的容器

docker-compose start|stop|restart

9.查看由docker-compose管理的容器

docker-compose ps

10.查看日志:docker-compose logs -f

8.项目部署

cp springboot.war /opt/docker_mysql_tomcat/tomcat_webapps

转载地址:http://ncezi.baihongyu.com/

你可能感兴趣的文章
一句话##错误 'ASP 0116' 丢失脚本关闭分隔符
查看>>
文件上传漏洞之.htaccess
查看>>
常见网络安全设备默认口令
查看>>
VirtualBox虚拟机网络配置
查看>>
oracle vm virtualbox虚拟机下,CentOS7系统网络配置
查看>>
解决Linux CentOS中cp -f 复制强制覆盖的命令无效的方法
查看>>
wdcpv3升级到v3.2后,多PHP版本共存的安装方法
查看>>
PHP统计当前网站的访问人数,访问信息,被多少次访问。
查看>>
Windows10远程报错CredSSP加密oracle修正
查看>>
Windows server 2016 设置多用户登陆
查看>>
偶然发现的面包屑
查看>>
CentOS 7 下挂载NTFS文件系统磁盘并设置开机自动挂载
查看>>
非插件实现Typecho语法高亮
查看>>
windows 下 netsh 实现 端口映射(端口转发)
查看>>
两个好用的命令行工具 watch 和 rsync
查看>>
信安入门神级书单
查看>>
【IPFS指南】IPFS的竞争对手们(一)
查看>>
docker更换国内镜像
查看>>
CentOS 下 tree命令用法详解
查看>>
docker上传镜像至Registry时https报错解决方法
查看>>