Docker核心
数据目录挂载:数据备份
配置文件挂载:直接修改宿主机上配置就可以修改mysql的配置
初始化脚本:比如表结构创建
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
/docker-entrypoint-initdb.d
$ docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
自定义镜像
以下是Dockerfile
使用 CentOS 7 作为基础镜像
FROM centos:7
添加 JDK 到镜像中
COPY jdk17.tar.gz /usr/local/
RUN tar -xzf /usr/local/jdk17.tar.gz -C /usr/local/ && rm /usr/local/jdk17.tar.gz
设置环境变量
ENV JAVA_HOME=/usr/local/jdk-17.0.10
ENV PATH=$JAVA_HOME/bin:$PATH
创建应用目录
RUN mkdir -p /app
WORKDIR /app
复制应用 JAR 文件到容器
COPY app.jar app.jar
暴露端口
EXPOSE 8080
运行命令
ENTRYPOINT ["java","-jar","/app/app.jar"]
docker镜像打包命令
[root@bogon app]# docker build -t app:1.0 .
.:说明当前Dockerfile在该目录下
Docker中的网络
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
构建镜像的资源放在/usr/local
然后创建一个目录mkdir tlias-docker-app
然后进入该文件cd tlias-docker-app/
然后构建镜像
[root@bogon tlias-docker-app]# docker build -t tlias:1.0 .
后续构建完之后通过docker images查看镜像
删除不需要的镜像
部署docker容器:创建并运行
[root@bogon tlias-docker-app]# docker run -d --name tlias-server -p 8080:8080 --network itheima tlias:1.0
查看容器是否创建成功:docker ps
实时查看容器日志:docker logs -f tlias-server
在root目录下创建一个文件夹mkdir tlias-nginx并进入cd tlias-nginx/
将nginx的配置文件夹和html文件夹导入
创建nginx容器:(此时本身nginx镜像已经导入pull过了)
docker run -d
--name nginx-tlias
-v /root/tlias-nginx/html:/usr/share/nginx/html
-v /root/tlias-nginx/conf/nginx.conf:/etc/nginx/nginx.conf
--network itheima
-p 80:80
nginx:1.20.2
查看所有docker[root@bogon tlias-nginx]# docker ps
然后可以去浏览器试试连桥,输入:192.168.100.128
查看日志:[root@bogon tlias-nginx]# docker logs -f tlias-server
以后nginx里面需要改这个容器名字,改成连桥对应的服务器的容器名字