Docker服务相关命令

Docker服务相关命令

容器

 docker ps // 查看所有正在运行容器
 docker stop containerId // containerId 是容器的ID

 docker ps -a // 查看所有容器
 docker ps -a -q // 查看所有容器ID

 docker start $(docker ps -a -q) // start启动所有停止的容器
 docker stop $(docker ps -a -q) // stop停止所有容器
 docker rm $(docker ps -a -q) // remove删除所有容器
  • 启动docker

systemctl start docker // centos
sudo service docker start // ubantu

 

  • 查看状态

systemctl status docker
  • 停止docker

systemctl stop docker
  • 重启命令

systemctl restart docker 
  • 开机启动docker

systemctl enable docker

Docker镜像相关命令

  • 查看镜像:查看本地所有镜像

docker images
docker images -q #查看所有镜像的id
  • 搜索镜像:从网络中查找所需要的镜像

docker search 镜像名称
  • 拉去镜像:从Docker仓库下载镜像到本地,镜像名称或格式为 名称:版本号,如果版本号不指定则是最新版本。 如果不知道版本,可以去dockerhub搜索对应镜像查看。

docker pull 镜像名称
  • 删除镜像

docker rmi 镜像id  # 删除指定本地镜像
docker rmi `docker images -q`  # 删除所有本地镜像

Docker容器相关命令

  • 查看容器

docker ps  #查看正在运行的容器
docker ps -a  #查看所有容器
  • 创建并启动容器

docker run 参数  # docker run -it --name=c1  centos:7  /bin/bash
                # docker run -id --name=c2
#进入守护模式容器
docker exec -it c2 /bin/bash   # 退出后容器不会关闭

参数说明:

  • -i:保持容器运行。通常与 -t同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭

  • -t :为容器重新分配一个输入终端,通常与 -i 同时使用。

  • -d : 以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec进入容器。推出后,容器不会关闭。

  • -it : 创建的容器一般称为交互式容器,-id创建的容器一般称为守护式容器

  • --name: 为创建的容器命名

退出

exit

进入容器

docker exec 参数  # 退出容器,容器不会关闭

停止容器

docker stop 容器名称

启动容器

docker start 容器名称

删除容器

docker rm 容器名称

查看容器信息

docker inspect 容器名称

Docker 容器的数据卷

数据卷的概念:

  • 数据卷是宿主机中的一个目录或文件

  • 当容器目录和数据卷目录绑定后,对方的修改会立即同步

  • 一个数据卷可以被多个容器同时挂载

  • 一个容器也可以被挂在多个数据卷

 

配置数据卷

  • 创建启动容器时,使用-v参数 设置数据卷

    docker run ... -v 宿主机目录(文件):容器内目录(文件) ...

    注意事项

    1. 目录必须是绝对路径

    2. 如果目录不存在,会自动创建

    3. 可以挂在多个数据卷

  • 两个容器数据交换 -> 设置同一个数据卷

  • 数据卷容器

 

配置数据卷容器

  1. 创建启动c3数据卷容器,使用-v 参数设置数据卷

    docker run -it --name=c3 -v /volume centos:7 /bin/bash
  2. 创建启动 c1 c2容器,使用--volumes-form 参数设置数据卷

    docker run -it --name=c1 --volumes-form c3 centos:7 /bin/bash
    docker run -it --name=c2 --volumes-form c3 centos:7 /bin/bash

    Docker应用部署

    MySQL部署

    • 容器内的网络服务和外部机器不能直接通信

    • 外部机器和宿主机可以直接通信

    • 宿主机和容器可以直接通信

    • 当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上。外部机器访问宿主机的该端口,从而间接访问机器的服务。

    • 这种操作称为:端口映射

       

      部署步骤:

    1. 搜索mysql镜像

    2. 拉去mysql镜像

    3. 创建容器

    4. 操作容器中的mysql

posted @ 2021-11-03 17:41  yiwenzhang  阅读(177)  评论(0编辑  收藏  举报