前言

最近学习Docker 百度上找了些资源,大部分都不靠谱,最后找到几篇写的好的文章,亲测有效,分享出来,适用于Centos 7版本

Docker 安装

参考原文链接:

使用Dockerfile创建镜像(tomcat + JDK)

参考原文链接:

Docker mysql 安装

1.拉取镜像

docker search mysql

2.pull版本

docker pull mysql:5.7

3.启动容器

docker run -p 3306:3306 --name mysql5.7 -v /home/data/develop/mysql/5.7/logs:/var/log/mysql -v /home/data/develop/mysql/5.7/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e TZ='Asia/Shanghai' -d mysql:5.7 --lower_case_table_names=1

命令说明:
-p 3306:3306:将容器的3306端口映射到主机的3306端口

-v $PWD/conf:/etc/mysql/conf.d:将主机当前路径下的conf目录挂载到容器的/etc/mysql/conf.d目录

-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs

-v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data

-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码

–lower_case_table_names=1 设置表名参数名等忽略大小写

-v /etc/localtime:/etc/localtime:ro 设置容器的时间与宿主机同步

4.进入容器设置远程访问

docker exec -it mysql /bin/bash
root@da55138960a4:/# mysql -h localhost  -uroot -p
grant all privileges on *.* to root@"%" identified by "密码" with grant option;
flush privileges;

Docker 部署Tomcat乱码问题

参考原文链接:

Dockerfile文件详解

参考原文链接:

Docker 常用命令

参考原文链接:

Docker图形化工具安装

参考原文链接:

Docker 打包容器(修改容器端口)

利用docker commit新构镜像
docker commit:把一个容器的文件改动和配置信息commit到一个新的镜像。这个在测试的时候会非常有用,把容器所有的文件改动和配置信息导入成一个新的docker镜像,然后用这个新的镜像重起一个容器,这对之前的容器不会有任何影响。

1、停止docker容器

docker stop container01

2、commit该docker容器

docker commit container01 new_image:tag

3、用前一步新生成的镜像重新起一个容器

我们可以通过docker run 命令来启动该服务:

docker run 命令后面可以跟很多参数主要参数有以下几种:

-d 后台模式启动

-i 标准输出

-t 为虚拟终端

-p 端口映射 是指本地端口与容器发布服务端口的一对一映射

-P 随机端口映射 是只随机找一个端口与容器发布服务的端口映射

–name 给容器起别名

–net 选择网络模式

–restart 设置该容器是否在docker服务启动时自动启动

-v 挂在本地文件或者数据卷

docker run -itd -p 80:8080 new_image:tag