docker 安装mysql redis nginx

Ubuntu18.04环境安装

1、ssh
安装:sudo apt-get install openssh-service
启动:sudo service ssh start
重启:sudo service ssh restart
停止:sudo service ssh stop

2、安装vim
sudo apt-get install vim

3、net-tools
安装:sudo apt install net-tools
查询ip:ifconfig

4、修改源
备份源:cp /etc/apt/sources.list /etc/apt/sources.list.bak
修改源:vi cp /etc/apt/sources.list

阿里源

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable

更新:
sudo apt-get update
sudo apt-get upgrade

5、安装java
上传jdk 解压jdk(/home/appdev/soft目录)
sudo tar -zxvf jdk-8u152-linux-x64.tar.gz
配置环境
sudo vim /etc/profile
export JAVA_HOME=/home/appdev/soft/jdk1.8.0_152
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : JAVA_HOME/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:JAVA_HOME/lib: J R E H O M E / l i b : JRE_HOME/lib: JREHOME/lib:CLASSPATH
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin:$PATH
生效配置文件
source /etc/profile
查看安装情况
java -version
解决Ubuntu系统重启都要执行source /etc/profile java才生效问题

update-alternatives --install /usr/bin/java java /home/appdev/soft/jdk1.8.0_152/bin/java 300
update-alternatives --install /usr/bin/javac javac /home/appdev/soft/jdk1.8.0_152/bin/javac 300
update-alternatives --install /usr/bin/jar jar /home/appdev/soft/jdk1.8.0_152/bin/jar 300
update-alternatives --install /usr/bin/javah javah /home/appdev/soft/jdk1.8.0_152/bin/javah 300
update-alternatives --install /usr/bin/javap javap /home/appdev/soft/jdk1.8.0_152/bin/javap 300

6、安装docker
卸载(没安装可不执行)
sudo apt-get remove docker docker-engine docker.io containerd runc
更新ubuntu的apt源索引
sudo apt-get update
安装依赖包
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
验证您现在是否拥有带有指纹的密钥
sudo apt-key fingerprint 0EBFCD88
设置稳定版仓库
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
安装最新的Docker-ce
sudo apt-get install docker-ce
启动
sudo systemctl enable docker
sudo systemctl start docker
7、静态ip
vim 01-network-manager-all.yaml
network:
ethernets:
ens33:
dhcp4: no
addresses: [172.18.0.57/24]
optional: true
gateway4: 172.18.0.1
nameservers:
addresses: [255.255.254.0]
version: 2
renderer: NetworkManager

一 、docker软件安装

1、Mysql
1)、拉取mysql镜像
sudo docker pull mysql:5.6.39

2)、创建外挂文件
mkdir /home/appdev/docker/mysql/conf
mkdir /home/appdev/docker/mysql/data
mkdir /home/appdev/docker/mysql/logs

3)、创建my.cnf
cd /home/appdev/docker/mysql/conf
sudo vim my.cnf(内容据情况配置)

4)创建并且启动mysql
sudo docker run -p 3308:3306 -e MYSQL_ROOT_PASSWORD=Aa1008611 -v /root/mysql/slave/data:/var/lib/mysql -v /root/mysql/slave/logs:/logs -v /root/mysql/slave/my.cnf:/etc/mysql/my.cnf --privileged=true --name slavemysql --restart=always -d mysql:latest

5 修改mysql8密码
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY’MyPass@123’;

2、Redis
1)、拉取redis镜像
sudo docker pull redis:alpine

2)、创建外挂文件
mkdir /home/appdev/docker/redis/conf
mkdir /home/appdev/docker/redis/data

3)、增加配置项redis.conf
cd /home/appdev/docker/redis/conf
sudo vim redis.conf(内容据情况配置)

4)、创建并且启动redis
sudo docker run -p 6379:6379 -v /home/appdev/docker/redis/data:/data -v /home/appdev/docker/redis/conf/redis.conf:/etc/redis/redis.conf --name jc-redis --restart=always --privileged=true -d redis:alpine redis-server /etc/redis/redis.conf

3、nginx
1)、拉取nginx镜像
sudo docker pull nginx:alpine

2)、创建外挂文件
mkdir /home/appdev/docker/nginx/conf
mkdir /home/appdev/docker/nginx/logs

3)、增加配置项nginx.conf
cd /home/appdev/docker/nginx/conf
sudo vim nginx.conf(内容据情况配置)

4)、创建并且启动nginx
sudo docker run -p 80:80 --name jc-nginx --restart=always --privileged=true -v /home/appdev/docker/nginx/logs:/var/log/nginx -v /home/appdev/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/appdev/data/bird-ui:/home/appdev/data/bird-ui -d nginx:alpine

二、项目启动脚本

启动:
sh deploy.sh [start|stop|restart|status]
脚本内容:
#!/bin/bash

#jar包路径
JAR_PATH=/home/appdev/data/bird
#启动jar名称 同一服务器不要相同名称
JAR_NAME=bird.jar
cd dirname $0

#使用说明,用来提示输入参数
usage() {
echo “Usage: sh deploy.sh [start|stop|restart|status]”
exit 1
}

#检查程序是否在运行
is_exist(){
pid=ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}'
#如果不存在返回1,存在返回0
if [ -z “${pid}” ]; then
return 1
else
return 0
fi
}

#启动方法
start(){
is_exist
if [ ? − e q " 0 " ] ; t h e n e c h o " ? -eq "0" ]; then echo " ?eq"0"];thenecho"{JAR_NAME} is already running. pid=${pid} ."
else
nohup java -jar -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError J A R P A T H / JAR_PATH/ JARPATH/JAR_NAME --spring.config.location=file:KaTeX parse error: Expected 'EOF', got '&' at position 40: … > nohup.out 2>&̲1 & echo "{JAR_NAME} is start success"
tail -f nohup.out
fi
}

#停止方法
stop(){
is_exist
if [ $? -eq “0” ]; then
kill -9 p i d e c h o " pid echo " pidecho"{JAR_NAME} is stoped"
else
echo “${JAR_NAME} is not running”
fi
}

#输出运行状态
status(){
is_exist
if [ ? − e q " 0 " ] ; t h e n e c h o " ? -eq "0" ]; then echo " ?eq"0"];thenecho"{JAR_NAME} is running. Pid is p i d " e l s e e c h o " {pid}" else echo " pid"elseecho"{JAR_NAME} is not running."
fi
}

#重启
restart(){
stop
start
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case “$1” in
“start”)
start
;;
“stop”)
stop
;;
“status”)
status
;;
“restart”)
restart
;;
*)
usage
;;
esac

三、docker常用命令:

镜像操作
1、列出镜像 sudo docker images
2、搜索镜像 sudo docker search 镜像名称
3、拉取镜像 sudo docker pull repository:tag
4、删除镜像
1)、指定镜像
sudo docker rmi repository:tag
sudo docker rmi imageID
2)、删除所有镜像
sudo docker rmi $(docker images -q)
容器操作
1、创建容器命令:sudo docker run
参数说明:
-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
–name :为创建的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在 run 后面加上-d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
–restart=always :自动启动
2、启动容器
sudo docker start 容器名称或者容器ID
3、进入容器
sudo docker exec -it 容器名称或者容器 ID /bin/bash
sudo docker attach 容器名称或者容器 ID
两者之间的区别:
attach 进入容器之后,如果使用 exit 退出容器,则容器停止。
exec 进入容器之后,使用 exit 退出容器,容器依然处于运行状态
4、查看容器
sudo docker ps :查看正在运行的容器
sudo docker ps -a:查看历史运行过的容器
sudo docker ps -l:查看最近运行过的容器
5、停止容器
sudo docker stop 容器名称或者容器 ID
6、重启容器
sudo docker restart 容器名称或者容器ID
7、删除容器
删除指定容器:
sudo docker rm 容器名称或者容器 ID
删除所有容器:
sudo docker rm ‘docker ps -a -q’
8、复制文件
sudo docker cp 源文件 目标文件
比如:
docker cp /root/boot.war my-c说明:
/root/boot.war 是宿主机器my-centos 是容器的名称
/usr/local/是容器内的路径
注意:源文件可以是宿主机器器也可以是宿主机器的文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值