Ubuntu中安装Docker及在docker-compose中部署项目

本文详细介绍了在Ubuntu系统中使用Docker部署Tomcat和MySQL的步骤,包括编辑数据源、修改root权限、安装Docker及配置加速器、下载Docker Compose,以及创建项目并进行具体部署的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.编辑数据源 (克隆个虚拟机)(ifconfig查看ip)

vi /etc/apt/sources.list

首先建立root账户,在root下改较为方便

删除全部内容更改为阿里云的 (可用lsb_realease -a来查看Ubuntu系统的名称,我的是xenial),按i键进入编辑模式,按esc键退出编辑模式(dd删除内容)ctrl+insert 复制  shift+insert粘贴      :q!强制退出不写入    cd ..        ll

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

更新数据源 

apt-get update

2. 修改root权限

设置root账户和密码 sudo passwd root

切换到 root  su

设置远程登录root

会进入到如下命令,添加PermitRootLogin yes并注释掉上面那句

之后esc 输入wq!运行service ssh restart命令

断开连接,该用户为root

即连接成功。

3.使用shell脚本安装Docker

curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun

即安装成功!

4.配置Docker镜像加速器(加入下面的内容 wq!)

{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}

重启服务  systemctl restart docker(下个Tomcat看是否起效)

5.下载DockerCompose

https://github.com/docker/compose/releases在官网根据目前版本修改后运行

curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x docker-compose 赋予可执行的权限

 

 

 

 

6.项目部署

root@ubuntu:/usr/local# cd docker
root@ubuntu:/usr/local/docker# ll

(root@ubuntu:/usr/local/docker# rm -fr gitlab/)

root@ubuntu:/usr/local/docker# mkdir photo(项目名)
root@ubuntu:/usr/local/docker# ll

root@ubuntu:/usr/local/docker/photo# 
root@ubuntu:/usr/local/docker/photo# vi docker-compose.yml

 

----------------------------------------------------------------------------------------------------------------

version: '3'
services:
   web:
     restart: always
     image: tomcat
     container_name: web
     ports:
        - 8080:8080
     volumes:
        - /usr/local/docker/photo/ROOT:/usr/local/tomcat/webapps/ROOT

   mysql:
     restart: always
     image: mysql:5.7.22
     container_name: mysql
     ports:
        - 3306:3306
     environment:
        TZ: Asia/Shanghai
        MYSQL_ROOT_PASSWORD: 123
     command:
        --character-set-server=utf8mb4
        --collation-server=utf8mb4_general_ci
        --explicit_defaults_for_timestamp=true
        --lower_case_table_names=1
        --max_allowed_packet=128M
        --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
     volumes:
        - mysql-data:/var/lib/mysql

volumes:
     mysql-data:
----------------------------------------------------------------------------------------------------------------

root@ubuntu:/usr/local/docker/photo# docker-compose up -d

root@ubuntu:/usr/local/docker/photo# docker ps

root@ubuntu:/usr/local/docker/photo# docker-compose logs web

 

--------------------------------------查看数据卷---------------------------------------------------

root@ubuntu:/usr/local/docker/photo# cd /var/
root@ubuntu:/var# ll

root@ubuntu:/var# cd lib/
root@ubuntu:/var/lib# ll

root@ubuntu:/var/lib# cd docker
root@ubuntu:/var/lib/docker# ll

root@ubuntu:/var/lib/docker# cd volumes/
root@ubuntu:/var/lib/docker/volumes# ll

root@ubuntu:/var/lib/docker/volumes# cd photo_mysql-data/
root@ubuntu:/var/lib/docker/volumes/photo_mysql-data# ll

root@ubuntu:/var/lib/docker/volumes/photo_mysql-data# cd _data/
root@ubuntu:/var/lib/docker/volumes/photo_mysql-data/_data# ll

root@ubuntu:/var/lib/docker/volumes/photo_mysql-data/_data# docker volume ls

root@ubuntu:/var/lib/docker/volumes/photo_mysql-data/_data# cd /usr/local/docker/
root@ubuntu:/usr/local/docker# ll

root@ubuntu:/usr/local/docker# cd photo/
root@ubuntu:/usr/local/docker/photo# ll

root@ubuntu:/usr/local/docker/photo# cd ROOT/
root@ubuntu:/usr/local/docker/photo/ROOT# ll

root@ubuntu:/usr/local/docker/photo/ROOT# cd ..
root@ubuntu:/usr/local/docker/photo# ll

-------------------------------项目上传解压并启动-----------------------------------------------------------

root@ubuntu:/usr/local/docker/photo# cd ROOT/
root@ubuntu:/usr/local/docker/photo/ROOT# ll
root@ubuntu:/usr/local/docker/photo/ROOT# unzip photo-1.0.0-SNAPSHOT.zip 
-bash: unzip: command not found
root@ubuntu:/usr/local/docker/photo/ROOT# apt-get install unzip

root@ubuntu:/usr/local/docker/photo/ROOT# ll
 unzip photo-1.0.0-SNAPSHOT.zip 
root@ubuntu:/usr/local/docker/photo/ROOT# mv photo-1.0.0-SNAPSHOT.zip ..
root@ubuntu:/usr/local/docker/photo/ROOT# ll

root@ubuntu:/usr/local/docker/photo/ROOT# cd WEB-INF/
root@ubuntu:/usr/local/docker/photo/ROOT/WEB-INF# ll

root@ubuntu:/usr/local/docker/photo/ROOT/WEB-INF# cd classes/
root@ubuntu:/usr/local/docker/photo/ROOT/WEB-INF/classes# ll

root@ubuntu:/usr/local/docker/photo/ROOT/WEB-INF/classes# vi application.yml 

4个cd ..
root@ubuntu:/usr/local/docker/photo# docker-compose down
Stopping web   ... done
Stopping mysql ... done
Removing web   ... done
Removing mysql ... done
Removing network photo_default
root@ubuntu:/usr/local/docker/photo# 

root@ubuntu:/usr/local/docker/photo# docker-compose up
 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值