Docker安装与部署
- 安装Docker:
查看你当前的内核版本:
uname -r
更新yum包:
sudo yum update
卸载旧版本(如果安装过旧版本的话):
sudo yum remove docker docker-common docker-selinux docker-engine
安装需要的软件包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
查看所有仓库中所有docker版本:
yum list docker-ce --showduplicates | sort -r
安装docker:
sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版
sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
启动并加入开机启动:
sudo systemctl start docker
sudo systemctl enable docker
验证安装是否成功:
docker version
查看docker启动状态:
systemctl status docker
- 常用命令:
docker ps #查找需要的服务
docker logs -f 加上CONTAINER ID #查看相应的日志
docker logs --since 30m CONTAINER_ID #查看最近30分钟日志
docker ps -a #查看所有容器
docker rm 容器id #删除容器
docker images #查看镜像
docker rmi 镜像名称 #删除镜像
docker stop 容器ID或容器名 #停止容器
docker kill 容器ID或容器名 #直接关闭容器
docker restart 容器ID或容器名 #不管容器是否启动,直接重启容器
docker exec -it 容器ID /bin/bash #进入容器
exit #退出容器
- Idea设置Docker远程插件
- 没有插件就先安装docker插件。
- 没有插件就先安装docker插件。

- 连接Docker。

- 如果显示不成功,报异常如下:

- 如果显示不成功,报异常如下:
- 那么需要docker开启远程连接功能。
vim /lib/systemd/system/docker.service #编辑这个文件
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock #修改内容
systemctl daemon-reload #重新启动docker
systemctl restart docker
- 那么需要docker开启远程连接功能。
- 通过命令使用Docker部署jar包:
- 项目打成jar包,上传服务器,同级目录下建一个Dockerfile文件
vi Dockerfile
FROM java:8 #拉取一个jdk为1.8的docker image
MAINTAINER L #作者是L
ADD app-0.0.1-SNAPSHOT.jar app.jar #上传的jar包(app-0.0.1-SNAPSHOT.jar),替换为jar包的名称(容器中运行的是app.jar)
EXPOSE 8088 #jar包在容器中运行的端口号(项目启动的端口号)
ENTRYPOINT ["java","-jar","app.jar"] #容器启动之后执行的命令:java -jar app.jar 即启动jar - 构建镜像:
docker build -t appimage . # . 表示 Dockerfile 文件在当前目录下,appimage 是镜像名称
- 运行容器:
docker run -d --name app -p 8091:8088 appimage
-d: 后台运行容器,并返回容器ID;
--name appimage:appimage镜像名称;
-p: 端口映射,格式为:主机(宿主)端口:容器端口。意思是第一个访问服务器的端口,第二个是项目端口;
app: 容器名称
- Docker安装Redis:
docker pull redis:latest #拉取官方的最新版本的镜像
docker images #查看是否已安装了 redis
docker run -itd --name redis-test -p 6379:6379 redis #运行 redis 容器
docker exec -it redis-test /bin/bash #通过 redis-cli 连接测试使用 redis 服务
1.从官网获取 redis.conf 配置文件
2.修改默认配置文件
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
dir ./ #输入本地redis数据库存放文件夹(可选)
appendonly yes #redis持久化(可选) 3.docker 启动 redis 命令:
列1:
docker run -p 6379:6379 --name redis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
列2:
docker run -p 6379:6379 --name redis -v $PWD/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes 4.命令解释说明:
-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
--name myredis 指定该容器名称,查看和进行操作都比较方便。
-v 挂载目录,规则与端口映射相同。
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
appendonly yes 开启redis 持久化$PWD 当前目录
- Docker安装Mysql:
docker pull mysql:latest #拉取官方的最新版本的镜像
docker images #查看是否已安装了 mysql
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql #运行 mysql 容器
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
docker ps #查看是否安装成功- Docker安装完Mysql后,Navicat连接不上的问题:
- 进入mysql客户端:docker exec -it mysql的容器名 /bin/bash
- 进入mysql命令行:mysql -u root -p123456 (123456就是mysql的登录密码,在docker run的时候设置的)
- 查看用户信息:select host,user,plugin,authentication_string from mysql.user; (mysql命令行中输入sql语句)

- 重新设置密码:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword' (newpassword就是新的密码)

- 使用Navicat重新连接:成功。原文链接:https://blog.csdn.net/cainiaobulan/article/details/88389948
Docker清除日志:在使用docker的时候,我们经常通过
docker logs -f containername或者id
但是有时候日志很多。很麻烦。所以需要清理一下对应container的日志。
默认情况下,daocker日志一般放在以下目录:
/var/lib/docker/containers/
然后找到对应的container,然后进去,通过echo “” > **.log 即可
原文链接:https://blog.csdn.net/brotherdong90/article/details/79292534
Docker安装与部署的更多相关文章
- ubuntu docker安装与部署java,mysql,nginx镜像
docker 安装与部署java,mysql,nginx docker 配置 安装docker $ sudo apt-get remove docker docker-engine docker.io ...
- docker安装tomcat&部署javaweb程序
一.docker定制简单的java-web应用镜像 网址: 1.jdk下载网址:https://www.oracle.com/technetwork/java/javase/downloads/jdk ...
- Docker安装及部署实例.Net Core
1.什么是Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱 ...
- Docker 安装并部署Tomcat、Mysql8、Redis
1. 安装前检查 1 #ContOS 7安装Docker系统为64位,内核版本为3.10+ 2 lsb_release -a 3 4 uname -r 5 6 #更新yum源 7 yum -y up ...
- centos7+docker 安装和部署crawlab分布式爬虫平台,并使用docker-compose管理docker
1.先决条件centos7+docker最新版本 sudo yum updat 2.配置一下镜像源,创建/etc/docker/daemon.conf文件,在其中输入如下内容 { "regi ...
- Docker 版rocketmq部署
rocketmq 部署启动指南-Docker 版 最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑. 准备工作# ...
- docker 安装 oracle
docker 安装 oracle 部署链接:https://www.linuxidc.com/Linux/2017-03/141760.htm 本次使用docker安装oracle 1.搜索可使用的镜 ...
- 使用docker安装部署Spark集群来训练CNN(含Python实例)
使用docker安装部署Spark集群来训练CNN(含Python实例) http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器 ...
- Docker安装部署redis
借鉴博客:https://my.oschina.net/u/3489495/blog/1825335 待续... >>>>>>>>>docker安 ...
随机推荐
- tensorflow到底难不难写
发信人: xhsoldier01 (风大人), 信区: ITExpress 标 题: Re: 没有GPU,tensorflow,AI公司都得死掉 发信站: 水木社区 (Thu Oct 10 20:25 ...
- Java高级面试题整理(附答案)
这是我收集的10道高级Java面试问题列表.这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题.你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java ...
- TCP/IP协议的工作流程
1.在源主机上,应用层将一串应用数据流向下传输给传输层 2.传输层将应用数据截流成分组,并加上TCP报头形成TCP段,向下递交给网络层 3.在网络层给TCP段加上包括源主机,目的主机IP地址的IP报头 ...
- STM32中的几个时钟SysTick、FCLK、SYSCLK、HCLK
STM32参考手册中的时钟树: 关于时钟讲解,在时钟树中都可以看出来:下面是正点原子PPT中的插图,看起来比较清晰. 总结一下: 1. 在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE. ...
- MySQL 总结篇 [在Oracle基础上学习的MySQL]
一.学习环境 MySQL 5.7社区版 Navicat for MySQL 百度网盘下载链接:https://pan.baidu.com/s/1yGnznwoZ8CaMgrCsDBhKAQ 二.MyS ...
- D03-R语言基础学习
R语言基础学习——D03 20190423内容纲要: 1.导入数据 (1)从键盘输入 (2)从文本文件导入 (3)从excel文件导入 2.用户自定义函数 3.R访问MySQL数据库 (1)安装R ...
- IDEA远程DEBUG Tomcat配置
IDEA远程DEBUG Tomcat配置 IDEA远程DEBUG Tomcat很简单,配置如下: 1.修改tomcat服务器配置 打开tomcat/bin/catalina.sh 在空白处添加如下参数 ...
- Unity的学习笔记(向量点乘和叉乘)
public class AngleTest : MonoBehaviour { public GameObject cube; //主要的物体 public GameObject radCube; ...
- C#采集麦克风话筒声音
在项目中,我们会需要录制麦克风的声音.比如录制QQ聊天时自己说的话.那么如何采集呢?当然是采用SharpCapture!下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第一步:在引用了S ...
- 深入剖析Linux IO原理和几种零拷贝机制的实现
深入剖析Linux IO原理和几种零拷贝机制的实现 来源 https://zhuanlan.zhihu.com/p/83398714 零壹技术栈 公众号[零壹技术栈] 前言 零拷贝(Zero ...