docker笔记收藏
一、Docker的Tomcat容器部署项目步骤:
1、查找Tomcat镜像,docker search tomcat
2、拉取镜像,docker pull tomcat
3、查看镜像,获取镜像ID标识(启动容器时用到) ,docker images
4、启动Tomcat容器,docker run -d --name tomcat_8081 -p 8081:8080 [镜像ID标识]
5、查看容器是否启动成功,docker ps
6、将项目复制到Tomcat的webapps进行部署,docker cp [项目存放路径] [容器ID标识]:/usr/local/tomcat/webapps/
7:重启Tomcat容器,docker restart [容器ID标识]
二、Docker安装MySQL数据库步骤:
1:拉取镜像,docker pull mysql
2、查看所有镜像,docker images
3、启动MYSQL容器:docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 [镜像ID标识]
注:MYSQL_ROOT_PASSWORD 为设置root用户的密码
4、查看是否启动成功,docker ps
5、执行容器,docker exec -it [容器名称] /bin/bash
6、配置mysql的编码以及不区分大小写,vim /etc/mysql/mysql.conf.d/mysqld.cnf
在文件中添加内容:
[mysqld]
character-set-server=utf8
lower_case_table_names=1
[mysql]
default-character-set=utf8
7、配置完成,退出并保存编辑文件
8、测试登录mysql,mysql -uroot -p123456
9、重启容器,docker restart [容器ID标识]
三、Docker执行容器环境安装命令集:
1、在编辑配置文件时,会用到vim命令,但是会提示不能识别vim命令,此时需要install
apt-get install vim
2、如果提示apt-get命令无效,则需要对给命令更新,
apt-get update
四、Tomcat容器部署项目,上传文件路径
1、将web项目部署到Docker的Tomcat容器中,并且指定挂载路径为:/opt/project,发现项目中的上传功能不好用,并且没报错,上网查询发现Docker不能直接访问操作系统路径,所以上传文件的路径应写为映射路径,如:docker run -d --name tomcat -p 8081:8080 -v /opt/project/:/usr/local/tomcat/webapps/ [镜像标识],启动容器时,挂载的路径为:/opt/project,此时,假如想上传文件保存的路径为:/opt/project/data,那么代码中写的路径应为:/usr/local/tomcat/webapps/data
五、启动nginx并且挂载
1、在/usr/local/docker/路径下创建管理nginx的文件夹
命令: mkdir -p /usr/local/docker/nginx/{conf,conf.d,html,logs}
2、启动一个临时的nginx容器
命令:docker run -d --name temp_nginx -p 81:80 [镜像ID]
3、复制临时nginx容器的配置文件。
命令:
docker cp [容器ID]:/etc/nginx/nginx.conf /usr/local/docker/nginx/conf/
docker cp [容器ID]:/etc/nginx/conf.d/default.conf /usr/local/docker/nginx/conf.d/default.conf
4、删除临时nginx
命令:docker rm temp_nginx
5、运行nginx并且挂载目录
docker run --name nginx_8082 -d -p 8082:80 -v /usr/local/docker/nginx/html:/usr/share/nginx/html -v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/docker/nginx/logs:/var/log/nginx -v /usr/local/docker/nginx/conf.d:/etc/nginx/conf.d [镜像ID]
6、在/usr/local/docker/nginx/conf.d/default.conf文件中配置,即可进行nginx容器进行配置
六:容器之间通信
容器之间需要相互连接,比如,1、Tomcat容器中部署项目,需要连接Mysql容器,则两个容器之间需要连接;2、nginx容器需要反向代理tomcat容器等等,这里需要注意的事是,要用容器的IP地址和端口号进行配置;3、查看容器的IP地址命令:docker inspect {容器名称} ,假如mysql容器的内网IP为:172.17.0.2,内网端口为:3306,则jdbc:mysql://172.17.0.2:3306/rmis_new?ch1aracterEncoding=UTF-8&useSSL=false