绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
docker/docker-compose常用命令与配置
2020-05-09 11:47:26

今天整理了些以前使用docker时常用的命令与配置,在这里分享出来,也便于自己日后查阅。

文中不包括docker的基本概念、安装,还请自行搜寻。

各位感兴趣的话,可以收藏一下.

java架构资料免费领取(面试题、视频、进阶路线)shimo.im图标

docker

一、docker基础操作

service docker start/stop/restart

二、镜像基础操作

1.搜索镜像:

docker search imageName

2.拉取搜索出的镜像:

docker pull 镜像名;

3.修改镜像名

docker tag 旧镜像名:tag 新镜像名:tag

4.查看当前镜像列表:

docker images

三、容器基础操作(对已经启动的镜像操作)

--1.显示所有容器

docker ps -a

--2.显示当前运行中的容器

docker ps

--3.启动容器

docker start containerId

--4.停止容器

docker stop containerId

--5.重启容器

docker restart containerId

--6.删除容器

docker rm containerId

四、从无到有构建一个新的镜像(基于已有镜像,创建一个新的镜像),并启动

1.随意创建一个文件夹;

2.创建Dockerfile文件(名字只能为 Dockerfile),内容如下:

3.执行Dockerfile,在当前目录(Dockerfile文件所在目录)执行:

docker build -t 自定义镜像名称:tag(版本号) .("."代表当前目录执行)

4.镜像被成功创建。

5.运行镜像→生成容器

docker run -d(后台运行)

-p 8888:8181(指定外部8888端口映射出内部的8080端口)

--name 容器名(指定容器运行的名称) 镜像名:tag(版本号)

备注:运行基础的centos镜像,因为没有启动指令,所以需要额外增加命令参数

docker run -dit 镜像名 /bin/bash

五、清理镜像与容器

△删除的镜像

docker rmi $(docker images | grep "none" | awk '{print $3}')

△删除无用容器

docker rm `docker ps -a | grep Exited | awk '{print $1}'`

六、宿主机与容器交互

1.进入宿主机

docker exec -it 容器ID /bin/bash

2.文件拷贝

1)从主机到容器:

docker cp 文件 容器ID:容器中的路径

2)从容器到主机:

docker cp 容器ID:容器中的路径 主机上文件的路径

七、卷(容器与宿主机文件同步)

--1.查看所有卷

docker volume ls

--2.查看容器卷详细信息:

docker inspect containerId

--3.创建卷

docker volume create my-vol

--4.创建容器时指定卷

docker run -v 主机路径:容器中路径

--5.删除容器时,连同卷一起删除

docker rm -v 容器id

--6.清理所有无用卷

docker volume prune

--7.dockerfile中创建镜像指定卷

VOLUEME ["/data1","/data2"]

以上,会在运行后的容器中的根目录中,分别创建 两个目录;

△缺点:以这种方式创建的卷,不能指定主机目录。

而对应的目录默认是docker安装时指定的目录:/var/lib/docker/volumes/;

可通过docker inspect containerId 查看对应的自动生成的主机目录;

八、容器备份(实质上应导出镜像进行转移)

种方式(导出容器)【不推荐】:

使用命令:docker export/import 相关进行操作;

缺点:

不能保留运行时相关信息,如把war包存放到tomcat,导出时,war包会被遗弃;

第二种方式(导出成镜像)【推荐】:

步骤:

1.导出:

1)提交当前容器状态,并根据当前容器 生成一个新的镜像:

docker commit 容器id 新创建的镜像名称

2)将新创建的镜像导出成tar:

docker save 新创建的镜像名称 > 镜像名称.tar

2.导入:

docker load < 镜像名称.tar

△查看容器运行日志

docker logs -f -t --tail 显示后多少行 容器id

docker-comepose(用于启动N个镜像,一个项目中所需要用到的软件)

一、在任意文件夹下创建一个docker-compose.yaml文件,内容如下:

二、启动docker-compose:

docker-compose up -d(后台运行)

三、相应软件启动成功,可通过docker ps查看。

这里记录的只是个人经常用到的操作,需获取更多配置.

请移步官网:docs.docker.com/engine/

如果你现在想要跳槽提升找工作,简历模板.

点击链接即可 领取资料:

java架构资料免费领取(各大厂面试题、视频、进阶路线)shimo.im图标

PS:这是正常页面,继续点击进去就可以领取:

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Docker 专区
创建时间:2020-05-08 10:53:18
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 小雨滴
    专家
戳我,来吐槽~