Docker命令

目录

一、基本命令

二、镜像命令

三、容器命令

四、常用其他命令

五、commit 镜像

六、容器数据卷

七、Dockerfile

八、Docker网络


文档地址

Reference documentation | Docker Documentation

镜像官网

Docker Hub

一、基本命令

1.查看docker版本信息,也可用于检测安装docker是否安装成功 docker version

2.查看docker系统信息 docker info

3.帮助命令

        查看有什么命令docker   --help 

        查看命令后跟什么参数  docker  命令 --help

4.查看cpu状态docker stats

二、镜像命令

1.查看所有主机镜像 docker images

2.搜索镜像 docker search

        加搜索过滤条件 docker search --filter=STARS=3000

3.下载镜像 docker pull 镜像名[:tag]  如果不加tag,默认是最新版本

4.删除镜像  docker rmi

        根据id来删除 docker rmi -f 镜像id

        删除所有  docker rmi -f $(docker images -aq)

三、容器命令

1.新建容器并启动

        docker run [可选参数]  image

        参数:

                --name="容器名称"

                -d 后台启动

                -it 使用交互方式运行,进入容器查看内容

                -p

                        -p ip:主机端口:容器端口

                        -p 主机端口:容器端口

                        -p 指定容器的端口

                -P 随机指定端口

2.退出容器,回到主机

(1).exit 退出并停止

(2)Ctrl+P+Q

3.查看所有运行中的容器

        docker ps  [可选参数]

                -a 全部运行中的容器+历史运行过的容器

                -n=? 最新创建的n个容器

                -q 只显示容器编号  例如:docker ps -aq 显示所有容器的编号

4.删除容器

(1)删除指定容器  docker rm 容器id   (不能删除正在运行的容器,如果强制删除rm -f )

(2)删除全部  docker rm -f $(docker ps -aq)

                         docker ps -a -q|xargs docker rm

5.启动和停止容器

        启动:docker start 容器id

        重启:docker restart 容器id

        停止:docker stop 容器id

        强制停止:docker kill 容器id

四、常用其他命令

1.查看日志

        docker logs -f -t --tail 10 bb9d7247dcef   (bb9d7247dcef 容器id)

2.查看容器中的进程信息

        docker top 容器id

3.查看镜像的原元数据

        docker inspect  容器id

4.进入当前正在运行的容器

        (1)docker exec -it 容器id bashShell(/bin/bash/)     进入容器后开启一个新的终端,可以在里面操作

        (2)docker attach 容器id  进入容器打开的终端,不会启动新的进程

5.从容器内拷贝文件到主机

        docker cp 容器id:容器内路径     目的的主机路径

五、commit 镜像

docker commit 提交容器成为新的副本

docker commit -m="描述信息"  -a="作者" 容器id  目标镜像名:[tag]

六、容器数据卷

1.使用数据卷

        直接使用命令来挂载-v

                docker run -it -v 主机目录地址:容器目录地址

2.具名挂载和匿名挂载

匿名:不指定容器外目录

docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3310:3306 -v /etc/mysql/conf.d -v /var/lib/mysql mysql:5.7

1.查看所有卷情况 docker volume ls

docker volume

具名:通过 -v 卷名:容器内路径

docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3310:3306 -v mysq_confl:/etc/mysql/conf.d mysql:5.7

如果不指定目录情况下,默认在/var/lib/docker/volumes/挂载名/_data

如何区分具名和匿名:

        -v 容器内路径 #匿名

        -v 卷名:容器内路径 #具名

        -v /指定路径:容器路径 指定路径挂载

设置容器权限

        ro:只读 说明只能通过宿主机操作,容器内部无法操作

        rw可读可写

docker run -it -v /home/ceshi:/home/tt:ro centos /bin/bash

数据卷容器

        --volumes-from 容器id

七、Dockerfile

1.DockerFile介绍

        构建docker镜像的文件

                构建步骤:

                        1.编写一个dockerfile文件

                        2.docker build 构建成为一个镜像

                   如:docker build -f mydockerfile -t mycentos:1.0 .

                                 -f  指定文件

                                -t    生成镜像及版本

                                . 当前目录

                        3.docker run 运行镜像

                        4.docker push 发布镜像

                                1.注册-登录   docker login -u 1457688482

                                2.发布 docker push fengxueru/镜像名:版本号

                                3.退出   docker logout

2.DockerFile构建过程

 基础知识:

1.每个保留关键字都必须大写字母

2.执行从上到下顺序执行

3.#表示注释

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

3.dockerfile指令

FROM   基础镜像

MAINTAINER  维护者信息,姓名+邮箱

RUN   构建的时候需要运行的命令

ADD   添加内容

WORKDIR  镜像的工作目录

VOLUME 挂载目录

EXPOSE  指定暴露端口

CMD    指定容器启动的时候要运行的命令,只有最后一个会生效,可被替代

ENTRYPOINT    指定容器启动的时候要运行的命令,可以追加命令

ONBUILD  当构建一个被继承dockerfile,就会运行ONBUILD   指令

COPY    将文件拷贝到镜像中

ENV   构建的时候设置环境变量

dockerhub  大多数镜像的基础镜像FROM scratch

docker history 查看镜像创建历史

八、Docker网络

1.查看网络 docker network

2.自定义网络

(1)定义 docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

(2)使用  docker run -d -P --name tomcat01 --net mynet tomcat

3.网络联通

docker network connect

你可能感兴趣的:(docker,linux,运维)