CentOS7安装Docker并部署项目

CentOS7 Docker 环境搭建 + 部署war

OS: CentOS 7.4 X64

Docker: 18.03.0-ce

安装Docker

更新yum包

1
sudo yum update

安装需要的软件包

1
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源

1
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

查看所有仓库中所有docker版本,并选择特定版本安装

1
yum list docker-ce --showduplicates | sort -r

安装docker

1
2
sudo yum install docker-ce #安装最新的Docker-ce
sudo yum install <FQPN> #例如:sudo yum install docker-ce-17.12.0.ce

启动

1
sudo systemctl start docker

加入开机启动

1
sudo systemctl enable docker

验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

1
docker version

安装镜像

  1. 第一步

    将docker hub换成国内的镜像!!!

    非常重要T^T

    1
    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ef017c13.m.daocloud.io

    之后重启docker

    1
    systemctl restart docker
  2. 拉取tomcat镜像

    1
    docker pull tomcat

    创建一个实例跑起来:

    1
    docker run --privileged --cap-add SYS_ADMIN -e container=docker -it --name tomcat -p 0.0.0.0:2333:8080 -d --restart=always tomcat

    映射端口到宿主机2333端口

    查看容器:

    1
    docker ps -a

    显示:

    1
    2
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    f86228b3ab2f tomcat "catalina.sh run" 20 minutes ago Up 20 minutes 0.0.0.0:2333->8080/tcp tomcat

    所以现在应该能通过ip:2333来访问了

  3. 拉取mysql镜像

    1
    docker pull mysql

    创建实例:

    1
    2
    3
    docker run --name mysql -p 3333:3306 -e MYSQL_ROOT_PASSWORD=PWD -d mysql
    docker run --name mysql -p 3355:3306 -e MYSQL_ROOT_PASSWORD=PWD -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

    PWD代表root用户密码

部署项目

  1. 手动打包

    1
    jar -cvf work1.war *

    *号代表当前目录的所有文件

  2. 发送到docker中:

    1
    docker cp work1.war ceaafb7eca97:/usr/local/tomcat/webapps/
    1
    docker cp mysql-connector-java-5.1.46-bin.jar ceaafb7eca97:/usr/local/tomcat/lib/
  3. 注意:docker之间访问ip应该设置为容器的ip。

    查看容器ip:

    1
    docker inspect d14a1a84c642 | grep IPAddress
  4. 重启tomcat