docker及dockers-compose

docker 

自动化构建镜像,根据 dockerfile 打包镜像 ,启动时得到单独的container.

Dockerfile 编写

# 设置基础镜像

FROM nginx

# 定义作者

MAINTAINER xxx

# 将dist文件中的内容复制到 xxxx这个目录下面

COPY dist/  xxx

# COPY nginx.conf /etc/nginx/nginx.conf

COPY default.conf /etc/nginx/conf.d/default.conf

RUN echo 'ok'

 打包镜像

sudo docker build -t star/eyebox_ui_settingpage:V1.0.3 .

运行镜像

sudo docker run -itd --network=host --restart=always star/eyebox_ui_settingpage:V1.0.3

删除运行中的容器和镜像

sudo docker stop containerId  (停止一个运行中的容器)

sudo docker start containerId  (启动一个或多个已经被停止的容器)

sudo docker restart containerId  (重启容器)

sudo docker rm containerId (删除一个或多个 容器)

sudo docker rmi containerId ( 删除一个或多个 镜像)

sudo docker kill containerId (杀掉一个运行中的容器)


$ docker ps // 查看所有正在运行容器

$ docker stop containerId // containerId 是容器的ID

$ docker ps -a // 查看所有容器

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

$ docker stop $(docker ps -a -q) //  stop停止所有容器

$ docker  rm $(docker ps -a -q) //  remove删除所有容器


docker连接私有库

1.下载Docker Desktop 软件

2.启动Docker Desktop软件,若启动不起来,可能需要更新部分基础软件

3.进入 Docker Desktop 软件,右上角设置按钮,选择 Docker Engine按钮,在 insecure-registries 中填入私有库的地址(Window)

修改/etc/docker/daemon.json(),添加地址(Linux)

原因:仓库使用的自建TLS证书(权威机构发布的要钱),需要将仓库地址,添加到Docker的“非安全仓库列表”

4.在终端 登录私有库           sudo docker login '地址'

5.本地打包镜像必须要把私有库地址带上  

docker tag imageID xxx.xxx.xxxx:8081/star/eyebox_ui_settingpage:V1.0.3

6.推送镜像到私有库: docker push xxx.xxx.xxxx:8081/star/eyebox_ui_settingpage:V1.0.3

拉取镜像到本地 : docker pull xxx.xxx.xxxx:8081/star/eyebox_ui_settingpage:V1.0.3


操作解析

Docker rm 命令

语法

dockerrm[OPTIONS] CONTAINER [CONTAINER...]

OPTIONS说明:

-f :通过SIGKILL信号强制删除一个运行中的容器

-l :移除容器间的网络连接,而非容器本身

-v :删除与容器关联的卷

Docker rmi 命令

语法

docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS说明:

-f :强制删除

--no-prune :不移除该镜像的过程镜像,默认移除

Docker prune 命令

删除 所有未被 tag 标记和未被容器使用的镜像:

docker image prune

删除 所有未被容器使用的镜像:

docker image prune -a

删除 所有停止运行的容器:

docker container prune

删除所有未被挂载的卷:

docker volume prune

删除所有网络:

docker network prune

删除 docker 所有资源:

docker system prune

docker run 命令

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

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

--name="nginx-lb": 为容器指定一个名称;

--network=host : 网络使用 host 模式,和主机共用ip

--restart=always :重启时,能自动重启

例:sudo docker run -itd --network=host --restart=always --name="docker_name" star/docker_name

注意:

docker停止镜像-Dockerstop或者Dockerkill为何不能停止容器

因为你启动时加了参数dockerrun--restart=always,这个意思是无论容器时正常还是非正常手动关闭都会重启,

可以修改为dockerrun--restart=on-failure,异常关闭时重启容器,还有其他几个参数自己查看。


docker-compose

自动化编排容器,根据 docker-compose.yml 启动时是一个服务,由多个container 共同组成,并且端口、配置等由 docker-compose 定义好.

Docker Compose 将所管理的容器分为三层,分别是工程(project)、服务(service)、容器(container)

Docker Compose 运行目录下的所有文件(docker-compose.yml)组成一个工程,一个工程包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖,一个服务可包括多个容器实例

Docker Compose 常用命令

docker-compose ps  (列出所有运行容器)

docker-compose logs (查看服务日志输出)

docker-compose port  (打印绑定的公共端口)

docker-compose start / stop / rm  xxx (启动/停止/删除 指定服务已存在的容器)

docker-compose down ( 删除所有容器,镜像)

docker-compose build (构建或者重新构建服务)

docker-compose up (构建重启容器)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,367评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,959评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,750评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,226评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,252评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,975评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,592评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,497评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,027评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,147评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,274评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,953评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,623评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,143评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,260评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,607评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,271评论 2 358

推荐阅读更多精彩内容

  • 一 、基本命令: 1 . 进入docker 镜像:docker exec -it d bash (docker a...
    小拇指的约定021阅读 160评论 0 0
  • 获取镜像sudo docker pull NAME[:TAG]命令示例sudo docker pull cento...
    Ailily阅读 558评论 0 0
  • 查看容器日志: docker logs -f <容器名orID> 查看正在运行的容器: docker ps doc...
    小雨不会阅读 118评论 0 0
  • 1、什么是Docker Docker事一个居于LXC技术构建的容器引擎,基于GO语言开发,遵循Aoache2.0协...
    溺于眼里星河阅读 335评论 0 0
  • systemctl start docker.service 启动docker docker search cen...
    wflaugh阅读 765评论 0 50