栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker 命令速查笔记

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker 命令速查笔记

在油管看到的一个非常新手友好的教程, 在实际的实践过程中流畅地梳理了Docker使用过程中需要的命令和知识点, 本文即学习视频的笔记
视频链接:Docker Tutorial for Beginners [FULL COURSE in 3 Hours ] Youtube/TechWorld with Nana

P.S. 本文也会发布在个人微信公众号By Coding, 是(欢)本(迎)人(关)哦(注)~


基础命令 拉取镜像

docker pull

查看镜像

docker images

启动容器(镜像)

docker run

停止容器(前台)

ctrl+C

后台启动

docker run -d
“d” == “detach”

停止容器(通用, 使用ID)

docker stop

停止容器(通用, 使用容器名)

docker stop

查看全部容器(包括不在运行的)

docker ps -a

启动容器

docker start

停止容器

docker stop

启动其他版本

docker run :
# 如果docker没有找到对应版本的镜像, 则会自动执行pull拉取对应版本的镜像到本地, 然后执行start

容器端口与主机端口
docker ps中的PORTS显示的是主机端口
容器监听端口相同没有影响, 但每一个容器只能绑定唯一的主机端口

绑定端口启动容器

docker run -p<主机端口>:<容器端口>

  外部访问     主机       容器
    请求------>3200----->3000
查看日志

docker logs

只查看最后部分
docker logs | tail

实时查看
docker logs -f

  • 此时可以手动输入分隔(比如一行------)
  • 下一条log就会在分隔下面自动刷新出来
命名容器并启动

docker run --name

常见参数启动

docker run -d -p: --name :

进入容器终端

docker exec -it /bin/bash

  • “it” == “interactive terminal”
  • 进入以后就可以使用ls, cd之类的功能了
退出容器终端

exit(对, 直接在终端输入这个就行, 和Python命令行的同理)

关于run和start的区别

  • run用于从镜像启动新容器; start用于启动已存在的容器
  • start其实是"restart"(一个被stop的容器)
小技巧

分行写命令
docker run -d

>-p 
>-e
>--net 
>--name

Docker 网络 列表展示网络

docker network ls

创建Docker网络

docker network crate

删除容器

docker rm

删除镜像

docker rmi


Docker-compose

配置文件: .yaml
内容:

version:''
service:
    mongodb:
        image: 
        ports: :
        environment:
            -
使用docer-compose

docker-compose -f .yaml up

  • “f” == “file”
  • “up” == “run/start”
  • 同理 “down” == “stop”
    当这样停止容器时, 由compose创建的网络会被销毁, 等待下次启动时重新创建

配置启动顺序

(这个原视频中没有讲, 等自己实验出来了再补上~)


Dockerfile

文件格式是Dockerfile, 不需要后缀, D要大写

FROM 
    
ENV  
	
	
RUN mkdir -p /home/
    
COPY ./home/
    
CMD["", ""]
制作镜像

docker build -t :

CI/CD 连接镜像仓库

docker login
命令只需使用一次就可以从同一个仓库多次pull/push

命名规则

地址名/镜像名:标签

向仓库推送

docker push

  • 如果向AWS仓库推送则还需要一些前置配置, 详情请看原视频
标记

docker tag

  • 这里就是在改地址名

Docker Volume

一共有三种方式创建Volume, 分别是

  • Host Volumes
  • Anonymous Volumes
  • Named Volumes(推荐!)
HostVolumes

docker run -v /home//:///…/data

                        <主机目录>:<容器内目录>
Anonymous Volumes

docker run -v ///…/data

Named Volumes(推荐!)

docker run -v name:///…/data

在docker-compose中使用Volume

version: ''
service:
    :
        image: 
        ports: 
            -:
        volumes:
            - :///…/data 
                         # 这是容器里的路径
    :
        ... 
        ...
对所有容器内的Volume在主机上建立一个持久化的空间
volumes:
    :
  • 也就是说主机上的一个Volume可以对应多个容器的Volume
    • 这有利于不同服务间的数据访问(如果它们之间需要共享数据的话)
  • 向Docker声明在本地主机上开辟一个存储空间
driver: local
完整的文档示例
version: '1'

service:
    :
        image: 
        ports: 
            -:
        volumes:
            - :///…/data 

    :
        ... 
        ...
        
volumes:
    :
    	driver: local

Docker Volumes在不同主机上的默认路径
  • Windows: C:ProgramDatadockervolumes
  • Linux: /var/lib/docker/volumes
  • Mac: /var/lib/docker/volumes,
    • 但在Mac OS中的路径还有些不同, 也许需要尝试: screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64/linux/tty

关于screen命令

Linux screen命令用于多重视窗管理程序。
screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。 - 菜鸟教程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941534.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号