文档章节

docker 的基本命令

lemos
 lemos
发布于 2017/09/01 19:26
字数 669
阅读 26
收藏 0

清除缓存

docker system prune

搜索镜像

docker search <item>

获取镜像

docker pull

查看镜像

# 方法同查看容器,只需要将 ps 改为 images

移除镜像

在此之前先删除包含该镜像的所有容器

# 移除指定镜像
docker rmi <image_id> 

# 移除悬浮镜像 (参考 https://stackoverflow.com/questions/33913020/docker-remove-none-tag-images)
docker image prune

# 移除所有没有容器使用的任何镜像
docker image prune -a

镜像标签

docker tag f59c7e5b1817 myapp

构建自己的镜像(先创建好自己的 Dockerfile)

# 设置 REPOSITORY and TAG
docker build -t poturbot:latest --no-cache .

 

运行一个容器(如果没有对应镜像,则从官方仓库里自动 pull)

# 直接运行
docker run ubuntu /bin/echo hello world

# 交互式运行
docker run -i -t ubuntu /bin/bash (创建容器并交互式运行)

# 后台运行
docker run --name some-redis -p 6379:6379 -v $PWD/data:/data  -d redis redis-server --appendonly yes  --requirepass secret

# 运行后删除
docker run -it --link some-redis:redis --rm redis redis-cli -h redis -p 6379

#挂载目录
docker run --name image-nginx -v /root/coolq-data/data:/usr/share/nginx/html -v /root/coolq-data/nginx.conf:/etc/nginx/nginx.conf:ro -p 80:80 -d nginx

查看容器

#查看所有容器
docker ps -a

#查看运行容器的id
docker ps -q

#查看所有容器的id
docker ps -qa

停止容器

docker stop $(docker ps -qa)

删除容器

docker rm $(docker ps -qa)

进入容器

docker exec -it 775c7c9ee1e1 /bin/bash

重启容器

# 手动重启
docker restart

# 无论容器因何种原因退出(包括正常退出)都立即重启
--restart=always

# 退出代码非0时重启,最多重启 3次
--restart=on-failure:3

 

拷贝文件

#从docker中往本地拷贝文件
docker cp c43c7d102baa:/var/www/html/index.html /opt/   

# 从本地往docker中拷贝文件
docker cp aa c43c7d102baa:/var

 

网络连接

# Generally, you can use, for example, '-p 8080:8080' to set 80 port to host for outer access,
curl 66.42.89.23:8080

# But we also need access containers each other. For such a container, you can access itself by '127.0.0.1', the local other cantainer by '198.xx.xx.x'.

# First way, get certain container local ip address
docker inspect --format='{{.NetworkSettings.IPAddress}}' $CONTAINER_ID

--link 使用

# Second way, it's convienient to use --link option to replace real ip address
docker run --name telebot --link some-redis:redis --restart=on-failure:3 -d poturbot

--network 使用

# create shared netwrok
docker network create wp-net

# put your existed container in the shared network
docker network connect web-net caddy

# or create container and assign it by --network option

docker run  --name thelounge -d -p 9000:9000 -v /root/thelounge:/var/opt/thelounge --restart always --network web-net  thelounge/thelounge:3.0.0-pre.7-alpine 


# Now, you can access the thelounge by "thelounge:9000". Or, follow in your Caddyfile

xx.xx.xxx {
  proxy /socket.io thelounge:9000 { websocket } # not support http2.0
  proxy / thelounge:9000
  gzip
  log ../access.log
  tls abc@xxx.com { alpn http/1.1 }
}

 

© 著作权归作者所有

共有 人打赏支持
lemos
粉丝 7
博文 182
码字总数 91912
作品 0
芜湖
后端工程师
私信 提问
8个基本的Docker容器管理命令

前言: 在这篇文章中,我们将带你学习 8 个基本的 Docker 容器命令,它们操控着 Docker 容器的基本活动,例如 运行run、 列举list、 停止stop、 查看历史纪录logs、 删除delete 等等。文末福...

java高级架构牛人
06/22
0
0
8 个基本的 Docker 容器管理命令

利用这 8 个命令可以学习 Docker 容器的基本管理方式。这是一个为 Docker 初学者准备的,带有示范命令输出的指南。 在这篇文章中,我们将带你学习 8 个基本的 Docker 容器命令,它们操控着 ...

08%
06/21
0
0
标记(Tag),推送(Push),拉取(Pull)你自己的镜像

目录 开始使用Docker 在OS X安装Docker 理解镜像(images)和容器(containers) 搜索&运行whalesay镜像 构建你自己的镜像 创建Docker Hub账号(account)&库(repository) 标记(Tag),推送(Push),拉...

暗之幻影
2016/12/10
11
0
review what i studied `date` - 2017-4-18

查看PID的线程 top -H -p PID 使用sha512加密字符串: [root@xuhui-2 yum.repos.d]# opensslOpenSSL> sha512xuhui(stdin)= 8236f638664324977f5ff1b3d36cea49ce5e08099908390fe5937e32eaef9f......

1498472791
2017/04/19
0
0
Docker System Command Manage Docker

Docker System 相关命令说明: docker system df 这个命令显示 docker daemon 磁盘空间的使用情况。示例: 查看详情,使用加上 标识: 相关参数说明: 表示一个镜像和其他镜像共享的空间量 ...

Anoyi
10/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

详解如何实现一个简单的 vuex

首先我们需要知道为何要使用 vuex。父子组件通信用 prop 和自定义事件可以搞定,简单的非父子组件通信用 bus(一个空的 Vue 实例)。那么使用 vuex 就是为了解决复杂的非父子组件通信。 仅仅...

嫣然丫丫丫
16分钟前
1
0
算法——RangePartitioner实现之reservoirSample

简介 reservoir的作用是:**在不知道文件总行数的情况下,如何从文件中随机的抽取一行?**即是说如果最后发现文字档共有N行,则每一行被抽取的概率均为1/N? 我们可以:定义取出的行号为cho...

freeli
18分钟前
1
0
Python安装及netcdf数据读写

一、在CentOS7系统上安装Python3 在anaconda官网下载(http://https://www.anaconda.com/download/#linux)(Anaconda指的是一个开源的Python发行版本,是Python的包管理器和环境管理器) 下...

voole
22分钟前
1
0
基于NEO的私链(Private Blockchain)

1.准备工作 1.NEO-GUI 2.NEO-CLI 3..NET Core Runtime (不能是2.x版本,官方建议是1.12,实际上我用1.14也是没有问题的) 4.四台windows操作系统的虚拟机(本文是基于AWS的,理论上本地跑虚...

NEO-FANS
29分钟前
1
0
linux中shell if 判断总结

UNIX Shell 里面比较字符写法 -eq 等于; -ne 不等于; -gt 大于; -lt 小于 ; -le 小于等于; -ge 大于等于; -z 空串; -n 非空串; = 两个字符相等; != 两个字符不等 无论什么编程语言都离不开条...

linuxprobe16
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部