docker 安装参照菜鸟教程
liunx:https://www.runoob.com/docker/centos-docker-install.html
win7:https://www.cnblogs.com/canger/p/9028723.html (操作步骤)
拉取tomcat镜像:
docker pull hub.c.163.com/library/tomcat:latest
下面红线标记的是镜像名称
-p : 前边的8080是本机的端口,冒号后面的8080是docker容器的端口,tomcat默认是8080
–name : 是给容器起一个别名,方便使用,不然docker会默认给容器一个随机字符串的名称
运行容器方式一:
docker run -it -d -p 8080:8080 --name mytomcat hub.c.163.com/library/tomcat:latest
进入容器内部:
执行命令:docker exec -it mytomcat bash ,在这里用到了上面提到的容器别名mytomcat
docker exec -it mytomcat /bin/bash
把项目打包成一个war包文件,这里暂时假设名称为xx.war 然后在war包所在的目录,执行以下命令:
docker cp xx.war mytomcat:/usr/local/tomcat/webapps
war包会自动解压,然后执行下面命令重启容器
docker restart mytomcat
停止容器运行 (stop 后面可以跟 容器名字也可以是CONTAINER ID)
docker stop mytomcat
docker start mytomcat
移除容器:前提是先要停止容器运行否则报错(rm 后面可以跟 容器名字也可以是CONTAINER ID)
docker rm mytomcat
运行容器方式二:
并将容器中的tomcat目录挂载到 /my/dev/docker-tomcat/ 下 和开机自启
sudo docker run -d -p 8080:8080 --name mytomcat -v /my/dev/docker-tomcat:/usr/local/tomcat/webapps --restart=always tomcat:latest
实时查看docker容器日志
sudo docker logs -f -t --tail 行数 容器名
例:实时查看docker容器名为smytomcat的最后10行日志
sudo docker logs -f -t --tail 10 mytomcat
下面是多开方式:
docker run -it -d -p 8088:8080 --name mytomcat1 hub.c.163.com/library/tomcat:latest
docker run -it -d -p 8089:8080 --name mytomcat2 hub.c.163.com/library/tomcat:latest
docker 安装 mysql 8 版本
# docker 中下载 mysql 不指定tag默认安装最新版本
docker pull mysql
#启动方式一
docker run --name mysql8 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=qq1597357 -d mysql
#启动方式二:将容器内部文件挂载到宿主机 /my/docker/mysql/data 下面
sudo docker run -p 3307:3306 --name mysql8 -v /my/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=qq1597357 -d mysql
#进入容器
docker exec -it mysql8 bash
#登录
mysql mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'qq1597357';
#添加远程登录用户
CREATE USER 'liudong'@'%' IDENTIFIED WITH mysql_native_password BY 'liudong123';
GRANT ALL PRIVILEGES ON *.* TO 'liudong'@'%';
Dockers 服务开机启动:
sudo systemctl enable docker.service
启动Docker守护进程
sudo service docker start
sudo service docker stop
容器自启方式
docker update --restart=always 81bcb97c4f5e (自己docker产生的id) 或 容器名称