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

docker - 命令

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

docker - 命令

 

docker使用yum安装,详见官方文档

docker服务管理:
systemctl restart docker

systemctl start docker

systemctl stop docker

systemctl status docker

镜像相关命令:
#镜像列表
docker images

#只查看镜像id列表
docker images -q

#镜像搜索
docker search [name]

#镜像拉取
docker pull [imageUrl:tag]

#镜像删除
docker rmi [name:tag|imageId]

#删除全部镜像
docker rmi `docker images -q`

#查看镜像详细信息
docker inspect [image:tag]

容器相关命令:

相关选项说明:

  • -i:保持容器运行,通常与-t同时使用,容器创建后自动进入容,退出容器后容器自动关闭
  • -t:为容器重新分配一个伪输入终端
  • -d:以守护进行模式创建容器
  • --name:给容器命名
#启动容器
docker run [image:tag]

#启动并进入容器内部,退出后容器也关闭  --name 设置容器名称
docker run -it --name=c1 iamge:tag /bin/bash

#查看正在运行的容器列表
docker ps

#查看所有容器列表 包括历史容器
docker ps -a

#后台启动容器(-d) 不进入容器内部
docker run -id --name=c1 image:tag

#进入容器内部
docker exec -it imageId /bin/bash

#关闭容器
docker stop [容器名或容器id]

#启动容器
docker start [容器名或容器id]

#删除容器
docker rm [容器id或容器名称]

#查看所有容器id列表
docker ps -aq

#删除所有容器
docker rm `docker ps -aq`

#查看容器参数
docker inspect [容器id或名称]

注意:正在运行的容器无法删除

容器存储卷相关命令
#启动容器时创建挂载卷  容器关闭后挂载目录依然存在
docker run -id --name=c1 -v /宿主机目录:/容器内目录 image:tag

#数据卷容器 宿主机上的挂载目录由docker自动分配
docker run -id --name=c3 -v /容器内目录 image:tag /bin/bash

#挂载数据卷容器
docker run -id --name=c2 --volumes-from c3 image:tag /bin/bash


部署应用案例

mysql

-e: 给容器环境添加环境变量

docker run -id -p 3307:3306 
--name=mysqln 
-v /home/mysql/conf:/etc/mysql/conf.d 
-v /home/mysql/logs:/logs 
-v /home/mysql/data:/var/lib/mysql 
-e MYSQL_ROOT_PASSWORD=123123 
mysql:5.7

镜像制作

容器转镜像

此操作不会将容器挂载的文件打包到镜像

但在容器内创建的文件会打包到镜像内

docker commit [容器id] [image:tag]

镜像导出为压缩包

docker save -o  [target.tar]  [image:tag]

从压缩包导入镜像

docker load -i [target.tar]

DockerFile文件创建镜像

docker build -f [dockerfile] -t [image:tag] [targetDir]

镜像打标签:上传到本地仓库

新的镜像名中一般包含仓库url和目录:192.168.18.3/library/image:latest

docker tag [oldImage:tag] [newImage:tag]

镜像推送到仓库

docker push [newImageTag]

Dockerfile编写相关

一般来说,应该会将 Dockerfile 置于一个空目录下,或者项目根目录下。如果该目录下没有所需文件,那么应该把所需文件复制一份过来。如果目录下有些东西确实不希望构建时传给 Docker 引擎,那么可以用 .gitignore 一样的语法写一个 .dockerignore,该文件是用于剔除不需要作为上下文传递给 Docker 引擎的

Dockerfile 的文件名并不要求必须为 Dockerfile,而且并不要求必须位于上下文目录中,比如可以用 -f ../Dockerfile.qf 参数指定某个文件作为 Dockerfile。


通过dockerfile的 VOLUME 指令可以在镜像中创建挂载点,这样只要通过该镜像创建的容器都有了挂载点。

还有一个区别是,通过 VOLUME 指令创建的挂载点,无法指定主机上对应的目录,是自动生成的

FROM ubuntu
MAINTAINER hello1
VOLUME ["/data1","/data2"]

docker 网络

可以查看网络列表

docker network ls

查看对应网络的配置。

docker network inspect 

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

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

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