docker的安装:
Centos:
1、查看本机信息 uname -a 2、更新依赖 yum update 3、安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 4、替换为阿里源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 5、安装docker yum install -y docker-ce 6、Docker守护进程 Server端 systemctl start docker 7、docker version 查看docker client和docker server是否都显示出来了,都显示出来了就表示docker安装成功 docker version 8、设置开机自启 systemctl enable docker 9、yum makecache就是把服务器的包信息下载到本地电脑缓存起来,fast快速缓存。 yum -y makecache fast
Ubuntu:
1、安装(安装不动的可以选择换源)
sudo apt-get install docker
安装docker-compose
官网安装教程:https://docs.docker.com/compose/install/
直接2条命令即可安装完成
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
docker-compose常用命令
#上机 docker-compose up -d .
#下机 docker-compose down
#查看日志 docker-compose log #查看单独的一个容器的日志 docker-compose logs
发布一个web应用,结构目录如下
首先是docker-compose.yml
version: '3.3' services: #db是初始化数据库 db: build: ./db/ #restart是容器如果在宕机的情况下总是重启 restart: always #这是设置mysql的密码 environment: MYSQL_ROOT_PASSWORD: root #这是要打包的应用 app: build: ./app/ #依赖上面已经初始化的容器db,这样就不用再去设置网桥来连接两个容器的通信 depends_on: - db #开放80端口给外界 ports: - "80:80" restart: always
然后是数据库容器的Dockerfile
# FROM是以哪个镜像为基础创建容器
FROM mysql:5.7
# WORKDIR是移动到docker-entrypoint-initdb.d目录下,如果没有这个目录就会创建这个目录后再移动到这个目录下 WORKDIR /docker-entrypoint-initdb.d
# add是拷贝初始化数据库的文件到这个文件下 ADD init-db.sql .
接下来是app容器的创建
FROM openjdk:8u222-jre WORKDIR /usr/local/bsbdj ADD bsbdj.jar . ADD application.yml . ADD application-dev.yml .
# EXPOSE是开放容器的80端口给外界访问 EXPOSE 80 CMD ["java","-jar","bsbdj.jar"]
最后把打包好的jar包、配置文件和sql文件放到对应的目录下
有一点需要注意,数据库的连接名需要换成数据库容器的名字
#比如localhost需要换成上面创建的容器名db
url: jdbc:mysql://localhost:3306/xzttxwd?useUnicode=true
url: jdbc:mysql://db:3306/xzttxwd?useUnicode=true
全部准备完毕后,下面这条命令即可启动容器,默认目录是在docker-compose.yml文件的同级目录下
docker-compose up -d