最近有一个朋友问我有没有玩过docker,回答起来底气不是很足 ^ - ^ (刚开始玩cloud的时候接触过,玩过一会,后面在实际开发中比较少用,所以基本上可以说是忘记了.),今天花了点时间整理之前的笔记以及整理走一个流程,记录一下吧,下次玩得时候C V 就好啦~
1. Docker的安装以及开启远程访问
1.1 安装
# 检查虚拟机内核版本,必须是3.10及以上 uname -r # 安装docker yum install docker # 输入y确认安装 # 启动docker systemctl start docker # 查看docker版本 docker -v # 开机启动docker systemctl enable docker # 停止docker systemctl stop docker # 重启docker systemctl restart docker
1.2 开启远程访问
修改文件 docker.service
vim /usr/lib/systemd/system/docker.service
修改ExecStart这行
#ExecStart=/usr/bin/dockerd -H fd://–containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
# 重新加载配置文件 systemctl daemon-reload # 重启服务 systemctl restart docker.service # 查看端口是否开启 (如果是阿里云等服务器,需要 "安全" -> "防火墙" 开启端口2375) netstat -nlpt # 查看是否生效 curl http://127.0.0.1:2375/info
2. IDEA 安装 docker 插件并且连接
2.1 安装插件
这个很简单,就一步一步截图了。。。(这个谁呀,怎么使用汉化的的 IDEA 呀~~)
2.2 连接docker
3. 打jar包并且编写Dockerfile打jar这个在这里不赘述。。。编写Dockerfile,注意一下划线的地方,然后注意修改一下
FROM java:8 # 维护者信息 MAINTAINER houyu # 这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层 VOLUME /tmp # 复制上下文目录下的 /build/libs/fastboot-0.0.1.jar 到容器里 COPY /build/libs/fastboot-0.0.1.jar fastboot-0.0.1.jar # bash方式执行,使fastboot-0.0.1.jar可访问 # RUN新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。 RUN bash -c "touch /fastboot-0.0.1.jar" # 指定时区 # ENV TZ='Asia/Shanghai' # 声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务 EXPOSE 10007 # 指定容器启动程序及参数 <ENTRYPOINT> "<CMD>" ENTRYPOINT ["java","-jar","fastboot-0.0.1.jar", "--spring.profiles.active=prod"]
4. IDEA 配置构建镜像
4.1 配置运行脚本
4.2 运行脚本
5. 宿主机查看镜像并且确认部署成功
6. 部署多实例
具体的命令在后面:
操作脚本
# 查看镜像 docker images # 查看安装的容器 docker ps -a # 克隆c1726e8f3819镜像 安装成为一个fb1.2的容器 # -d:后台运行 # -p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口 docker run --name fb1.2 -d -p 10008:10007 c1726e8f3819 # 查看安装的容器 docker ps -a # 查看运行中的容器 docker ps # 验证fb1.1 curl 127.0.0.1:10007 # 验证fb1.2 curl 127.0.0.1:10008
常用的docker命令(私人美酒)
1)、镜像操作(https://hub.docker.com/)
1、检索镜像的详细信息,如镜像的TAG。
docker search 镜像关键字 如:docker search redis
2、拉取镜像(:tag是可选的,tag表示标签,多为软件的版本,默认是latest)
docker pull registry.docker-cn.com/library/redis:5.0.3 加速拉取
docker pull 加速地址+镜像名:tag 如:docker pull redis:5.0.3
3、查看所有本地镜像
docker images
4、删除指定的本地镜像
docker rmi 镜像Id或名称 如:docker rmi Tomcat
5、重命名镜像
docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
2)、容器操作(软件镜像----运行镜像----产生一个容器)
1、搜索镜像
docker search tomcat
2、拉取镜像(:tag是可选的,tag表示标签,多为软件的版本,默认是latest)
docker pull tomcat:latest
3、根据镜像启动容器(latest可以省略,其他标签一定要加上)
-d:后台运行
-p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
docker run --name 别名 -d 主机端口:容器内部的端口 REPOSITORY/IMAGE ID
如:docker run --name mytomcat -d 8080:8080 tomcat:latest
3.1 重启容器
docker restart 容器名称/ID
4、查看运行中的容器
docker ps
5、查看所有已安装的容器
docker ps -a
6、停止运行中的容器
docker stop 容器的id/名称
7、启动容器
docker start 容器的id/名称
8、删除一个容器
docker rm 容器的id/名称
9、查看容器的日志
docker logs container-name/container-id(容器名称或容器ID)
10、进入指定容器空间
docker exec -it 容器名称/ID /bin/bash
如:docker exec -it tensquare_es /bin/bash
7. 安全问题请不要在线上环境开启docker远程访问,否则可能会被当做肉机
具体可阅 Docker暴露2375端口导致服务器被攻击解决方法!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。