docker笔记2
2026/7/23 22:09:32 网站建设 项目流程

1.容器数据卷

用于容器内的数据在容器外(宿主机)的持久化和同步,相当于同一宿主机内的容器间的数据共享。(注意:新版用--mount)

docker run -it -v [宿主机路径]:[容器内路径] [镜像名]

docker ps 获取容器id

docker inspect [容器id]

例子:

Use containerized databases | Docker Docs

docker search mysql

docker pull mysql:5.7

docker run -d -p 3306:3306 -v /home/mysql/conf:/etc./mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345 --name myMysql mysql:5.7

匿名挂载

-v 容器内路径 ,不写宿主机路径

docker run -d -p --name -v /etc./mysql mysql

具名挂载

docker run -d -p --name -v [卷名]:/etc./mysql mysql

查看数据卷

docker volume ls

docker volume inspect [卷名]

卷的读写权限

ro #readonly

docker run -d -p --name -v [juming]:/etc./mysql:romysql

rw #readwrite

docker run -d -p --name -v [juming]:/etc./mysql:rwmysql

2.DockerFile

用来构建docker镜像的构建文件,命令脚本,通过脚本生成镜像

1.创建DockerFile_test文件,文件中的内容大写

FROM centos

VOLUME ["volume01","volume02"] #挂载数据卷目录

CMD echo "---end---"

CMD /bin/bash

2.docker build -f [DockerFile_test的全路径] -t [镜像名]:[TAG(如:1.0)]

3.docker run -it [镜像名]

4.docker push #发布镜像

3.DockerFile构建过程

每个指令都是大写

执行从上而下顺序执行

#表示注释

每一个指令都会创建提交一个新的镜像层,并提交

dockerfile是面向开发

通过dockerfile构建dockerimages然后用docker容器运行

DockerFile指令

FROM

MAINTAINER

RUN

ADD

WORKDIR

VOLUME

ECPORT

CMD

ENTRUPOINT

ONBUILD

COPY

ENV

实战:

FROM centos

MAINTAINER [作者]

COPY a.txt /usr/local/a.txt

ADD jdk-8u11-linux-x64.tar.gz /usr/local/

ADD apache-tomcat-9.0.22.tar.gz /usr/local/

RUN yum -y install vim

ENV MYPATH /usr/local

WORK $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_11

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22

ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.22

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -f /url/local/apache-tomcat-9.0.22/bin/logs/catalina.out

4.流程

编写dockerfile->通过dockerfile构建镜像->运行镜像

5.数据卷容器

docker run -it --name docker01 [镜像名]:[TAG]

docker run -it --name docker02--volumes-from docker01[镜像名]:[TAG] #相当于继承docker01

6.提交镜像

官方的和阿里云的

7.Docker网络(容器互联)

ip addr #查看网卡

#veth-pair

--link

docker network ls

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet #自己定义的网络

docker run -d -P --name tomcat01 --net mynet tomcat

docker run -d -P --name tomcat02 --net mynet tomcat

docker network inspect mynet

docker run -d -P --name tomcat03

docker network connect mynet tomcat03

8.Docker Compose

9.Docker Swarm

10.CI/CD

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询