美文网首页
【docker学习笔记四】容器操作命令

【docker学习笔记四】容器操作命令

作者: 帅气滴糟老头 | 来源:发表于2020-01-10 00:52 被阅读0次

    一、网络

    默认情况下Docker采用的是:桥接模式

    桥接模式 brige
    注:-p是 --pushlish的缩写

    > docker run -di --name mytomcat -p 8080:8080 tomcat:8.5.50-jdk8-openjdk
    #等价于
    > docker run -di --name mytomcat --publish 8080:8080 tomcat:8.5.50-jdk8-openjdk
    

    host模式,使用--net=host指定。

    > docker run -di --name mytomcat --net=host tomcat:8.5.50-jdk8-openjdk
    

    如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

    注意事项:
    一定关闭宿主机的防火墙:

    > systemctl status firewalld.service
    > systemctl disabled firewalld
    > systemctl stop firewalld
    

    二、文件拷贝

    如果我们需要将文件拷贝到容器内可以使用cp命令

    格式:docker cp 需要拷贝的文件或目录 [容器名称|ID]:容器目录   
    > docker cp index.html mytomcat:/usr/local/tomcat/webapps/ROOT
    
    #也可以将文件从容器内拷贝出来
    
    docker   cp 容器名称:容器目录 需要拷贝的文件或目录
    > docker cp mytomcat:/usr/local/tomcat/webapps/ROOT hello.txt
    

    三、目录挂载**(卷Volume)

    目录挂载即目录映射,就是将宿主机和容器内部的文件进行关联,修改宿主机的文件,会自动修改容器内部的文件。

    我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。创建容器 添加-v参数 后边为 宿主机目录:容器目录,例如:

    > docker run -d -it --name=nginx-test --mount src=nginx-vol,dst=/usr/share/nginx/html nginx 
    #或者
    > docker run -d -it --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx
    

    查看IP和相关的安装信息和目录

    docker inspect [容器名|容器ID]
    > docker inspect tomcat
    
    image.png

    完整命令如下---Mount 以容器为主

    1:创建一个卷

    > docker volume create mytomcat-vol
    

    2:查看卷 所有的卷都在目录/var/lib/docker/volumes

    > docker volume ls
    

    3:查看卷的详细信息,是为了去得知tomcat的安装目录

    > docker volume inspect mytomcat-vol
    

    4:创建一个nginx的目录挂载和卷的映射

    > docker run -d -it --name mytomcat --mount src=mytomcat-vol,dst=/usr/local/tomcat/webapps/ROOT -p 8080:8080 tomcat:8.5.50-jdk8-openjdk
    

    5:验证是否映射成功
    首先进入宿主机mytomcat-vol的数据目录

    > cd /var/lib/docker/volumes/mytomcat-vol/_data
    

    创建一个文件index.html,内容为hello world

    > vim index.html
    

    然后进入mytomcat容器的挂载目录

    > docker exec -it mytomcat /bin/bash
    > cd webapp/ROOT
    > ls
    

    可以发现该目录下正好有文件index.html,并且内容为hello world,说明宿主机的修改可以同步到容器。
    现在在容器中将index.html删除,exit退出容器。
    回到宿主机后发现原来的index.html也被删除了,说明容器的修改可以同步到容器。

    相关文章

      网友评论

          本文标题:【docker学习笔记四】容器操作命令

          本文链接:https://www.haomeiwen.com/subject/lpauactx.html