Docker实战(一) Docker的安装

一、Docker的安装与部署


Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看CentOS 版本

uname -r

Docker文件下载

其他版本下载地址

https://download.docker.com/linux/static/stable/x86_64/

安装二进制包,解压到/usr/bin

tar -zxf docker-18.09.9.tgz && cp docker/* /usr/bin

创建Docker启动脚本

vim /usr/lib/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd 
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

在/etc下创建名为docker的文件夹

mkdir -p /etc/docker && vim /etc/docker/daemon.json

daemon.json内容为

registry-mirrors 为仓库地址 可更改 可使用外网地址https://registry.docker-cn.com


{ "registry-mirrors": ["https://sg0wj9mg.mirror.aliyuncs.com"],
  "log-driver":"json-file",
  "log-opts":{
      "max-size":"10m",
      "max-file":"10"
  }
}

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],

指向docker仓库,可以更改可以删除

删除registry-mirrors会指向dockerhub.io默认地址拉去镜像

本地harbor仓库为http://172.16.45.9

"log-opts":"max-size"限制单个容器日志大小的上限;"max-file":"3"意味着一个容器有三个日志,分别是json.log、json.log.1、json.log.2。即:容器最多有三个日志文件,每个日志文件最大为2M。

需要注意的是:设置的日志大小规则,只对新建的容器有效

参考文章

https://blog.csdn.net/gdsfga/article/details/90599131

https://www.cnblogs.com/sxdcgaq8080/p/10689223.html

重新加载并测试启动

systemctl daemon-reload && systemctl enable docker && systemctl restart docker.service

执行docker version查看效果

[root@localhost docker]# docker version
Client:
 Version:       17.12.1-ce
 API version:   1.35
 Go version:    go1.9.4
 Git commit:    7390fc6
 Built: Tue Feb 27 22:13:43 2018
 OS/Arch:       linux/amd64

Server:
 Engine:
  Version:      17.12.1-ce
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.9.4
  Git commit:   7390fc6
  Built:        Tue Feb 27 22:20:43 2018
  OS/Arch:      linux/amd64
  Experimental: false

查看网络是否有docker虚拟网卡

ifconfig  或 ip a 命令
查看网络是否有名为`docker0`虚拟网卡

安装docker-compose

docker-compose下载地址

https://github.com/docker/compose/releases

上传docker-compose到/usr/local/bin目录下并授执行权限

mv docker-compose /usr/local/bin
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/

查看docker-compose版本:

docker-compose -v

输出结果

docker-compose version 1.8.1, build 878cff1

普通用户启动Docker

需要在服务器添加docker

groupadd docker

将非root权限用户添加到docker用户组内

usermod -aG docker user1 user2
             组     用户1 用户2(添加多个用户到组里面,需重新启动docker)

二、Docker常用命令

查看容器信息

docker ps (存活容器的信息)
docker ps -a (所有已存在容器的信息)

启动镜像

docker run -dit --restart=always --name=string --net=host <imageID> 

快速删除容器

docker rm -f  container ID

查看容器日志信息

docker logs container ID  #查看所有日志信息
docker logs -f container ID  #滚动查看所有日志信息
docker logs --tail 100 container ID  #查看最后100行日志信息
ocker logs -f --tail 100 container ID  #滚动查看最后100行日志信息

进入Docker容器

docker exec -it  容器ID /bin/bash 

导出镜像

先看一下docker有哪些镜像

[root@localhost New Folder]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vmware/photon       1.0                 4b481ecbef2a        15 months ago       130MB

有个名为vmware/photon的镜像,版本为1.0那么导出命令为

docker save -o photon.tar  vmware/photon:1.0
命令        选项  导出的包名   镜像名 : 版本标签

导入镜像

photon.tar 放入任意位置执行

docker load -i photon.tar
命令         选项  读取加载的包名

从宿主机拷文件到容器里面

假设容器名为testtomcat,现在要将宿主机/opt/test.js文件拷贝到容器里面的/usr/local/tomcat/webapps/test/js路径下面

docker cp /opt/test.js testtomcat:/usr/local/tomcat/webapps/test/js

从容器里面拷文件到宿主机

假设容器名为testtomcat,要从容器里面拷贝的文件路为:/usr/local/tomcat/webapps/test/js/test.js, 现在要将test.js从容器里面拷到宿主机的/opt路径下

docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt

#### 将docker容器提交为镜像

docker commit -m  ""   -a  ""   容器ID(可以简写)  镜像名称

-m  提示信息    -a  作者         

如

```shell
docker commit -m "tomcat+jdk环境" -a "ixiao9" qweq1231awqe tomcat:版本

其他docker命令

批量停止容器

docker ps | xargs docker stop
docker stop $(docker ps -a -q)

批量删除容器

docker ps -a | xargs docker rm

批量删除镜像

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

推荐阅读更多精彩内容

  • Docker的简单操作 一、 安装: Centos7: 使用centos71.安装依赖:yum install -...
    雨初眠阅读 106评论 0 0
  • [TOC] 一、docker 1.1 基本概念 镜像 容器创建、启动、停止、删除、暂停 仓库 1.2 docker...
    dubingxin阅读 1,811评论 0 0
  • CenterOS环境Docker安装 Mysql安装 参数说明-p 3306:3306:将容器的3306端口映射到...
    Y了个J阅读 272评论 0 0
  • 1.Docker基础简介 开源容器引擎,go语言编写,遵循apache2.0协议开源 Docker是微服务阶段产物...
    hadoop_a9bb阅读 1,049评论 0 0
  • 一、docker容器是什么及应用场景 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到...
    Alisa张琴阅读 467评论 0 0