Docker进阶实用命令 20年02.24日更新
本文最后更新于 2020年08月25日

Docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker 安装

Docker下载加速

下面是经常会用到Docker命令,希望能帮助到大家

制作docker镜像命令

docker commit 容器ID 新的镜像名

链接Docker容器

--link 链接Docker容器,被链接到的容器必须为运行状态,否则无法链接

为新建立的容器命名

docker run --name 你给容器起的名字

查看docker容器

docker ps -a

查看已下载的docker镜像

docker images

删除docker容器命令

docker rm -f 容器ID

删除docker镜像

docker rmi 镜像ID

进入docker容器

sudo docker exec -it 容器ID /bin/bash

第一次启动docker镜像

docker run -d -p 宿主机port:docker容器port 制作者/镜像名

停止docker容器

docker stop 容器ID

启动docker容器

docker start 容器ID

重启宿主机后docker不会随机启动,需要我们手动启动

sudo service docker start

重启docker进程

systemctl restart  docker

重启docker守护进程

sudo systemctl daemon-reload

关闭docker

systemctl stop docker

docker开机自启

sudo systemctl enable docker

直接在宿主机使用docker容器内应用

docker exec -it 容器名 command内容 

10.19日更新,只更新了一条命令,比较复杂

docker挂载目录到宿主机命令

多条指令用 ” \ 来换行做区分

最后一个指令要写上需要启动的镜像ID或镜像名


docker run \
  --name 给容器起到名字 \
  -v /root/nginx/html:/usr/share/nginx/html \
  -v /宿主机目录:docker容器内目录 \
 镜像名或镜像ID

11.9日更新

导出docker images

docker save -o /你想导出的目录/你想导出的镜像名(自己编写).tar 镜像ID

导入docker images

docker load</镜像所在目录/镜像名.tar

导出docker container

docker export container名 > /你想导出的目录/你想导出的镜像名(自己编写).tar

导入docker container

docker import /你想导出的目录/你想导出的镜像名(自己编写).tar

给docker镜像改名

docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)

11.19日更新

docker拷贝到容器

docker cp 你要拷贝的文件夹名 container名: container内目标路径

docker容器内文件拷贝到宿主机

docker cp container名:被拷贝文件名 目标宿主机目录

19年03.20日更新

今天发现漏俩很常用的参数命令给补充上,常用命令就这些,几本没有什么可以再更新的了,下次我将会展开docker compose的教程和命令,

重启docker后容器也重启

--restart=always

如果已经启动了则可以使用如下命令

docker update --restart=always 容器名

后台运行

-d

link容器时起别名

--line 别名:被链接的容器名

19年04.08日更新

显示所有容器IP地址

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

批量删除镜像 匹配引号内的内容

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

19年06.13日更新

docker volume命令

# 创建一个名为redis-data的持久化存储
docker volume create redis-data

# 检查持久化存储的信息
docker volume inspect redis-data

# 列出所有持久化存储
docker volume ls

# 删除所有持久化存储
docker volume prune

# 删除一个名为redis-data的持久化存储
docker volume rm redis-data

查看docker容器资源占用情况

docker stats

查看docker容器大小

cd /var/lib/docker/containers && du -sh *

查看docker 网络

docker network ls

20年02.24日更新

创建volume并命名

docker volume create --name volumename

查看volume

docker volume ls

查看volume位置和信息

docker volume inspect [volume name]

删除volume

docker volume rm [volume name]

这一部分内容选自https://www.jianshu.com/p/8c22cdfc0ffd

docker compose中创建并使用volume

version: "3.2"
services:
  web:
    image: alpine
    volumes:
      - mydata:/data
  web1:
    image: alpine
    volumes:
      - mydata:/data
volumes:
  mydata:
  dbdata:

不同docker compose文件中container的数据共享和上面的方法一样但是需要external

但是前提你必须要有mydata这个volume 如果没有,可以使用docker volume create –name=mydata创建。当你加上external docker不会帮你创建volume而是去找这个volume是否存在,如果找不到就会报错。

 version: "3.2"
  services:
    web:
      image: alpine
      volumes:
        - mydata:/data
    web1:
      image: alpine
      volumes:
        - mydata:/data
  volumes:
    mydata:
      external: true

容器和容器之间的数据共享

使用–volumes-from

docker run -it -h NEWCONTAINER --volumes-from container-test debian /bin/bash

使用–volumes-from, docker run -it -h NEWCONTAINER –volumes-from container-test debian /bin/bash 意思是,将container-test这个container中的volume挂载到当前将要运行起来的容器中。前提是container-test中的volumes必须被创建过,但是container-test可以是被stop的,原因是volume只能被手动删除,不是随着容器停止而被删除

原创声明
本文由 NG6 于2018年09月27日发表在 sleele的博客
如未特殊声明,本站所有文章均为原创;你可以在保留作者及原文地址的情况下转载
转载请注明:Docker进阶实用命令 20年02.24日更新 | sleele的博客

评论

  1. NG6 博主
    Macintosh Safari
    3月前
    2020-7-01 17:18:47

    在评论里补充一个,查看docker持久化volumes大小

    du -sh /var/lib/docker/volumes/*
    

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇