37_docker

docker命令

https://www.cnblogs.com/DeepInThought/p/10896790.html


:安装::

官方建议在Ubuntu中安装 因为docker是在ubuntu中发布的 我用的是centos 建议在centos 7.x版本以上

1:安装的前提是先下载虚拟机VMware Workstation Pro 

2:下载好centos 7.x 点击CentOS7.vmx 关联到VMware Workstation Pro 

(因为我自己弄得CentOS7已经包含下面这些了 所以一下步骤我没弄)

===============以参考以下三个链接

https://www.cnblogs.com/cs294639693/p/10164258.html

https://blog.csdn.net/ZT0518/article/details/88050663

https://blog.csdn.net/hylaking/article/details/87978819

https://www.cnblogs.com/tylerzhou/p/10969072.html(我参考这个成功了)

https://www.runoob.com/docker/centos-docker-install.html(第二次安装)


sudo yum install docker-ce-17.12.0.ce

==========================

1;yum update

2:卸载旧版本docker

yum -y remove docker docker-common docker-selinux docker-engine

3;设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#阿里云yum源

4:查看所有仓库中所有docker版本,并选择特定版本安装

yum install -y docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0yum install -y <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce

5:启动docker并加入开机自动启动

systemctl start docker

systemctl enable docker

6:配置阿里云镜像加速

mkdir -p /etc/docker

vi  /etc/docker/daemon.json

添加以下内容

{"registry-mirrors":

["https://5f2jam6c.mirror.aliyuncs.com", "http://hub-mirror.c.163.com"]

}


7:重新加载配置文件

systemctl reload docker

8:重启docker

systemctl restart docker

如果启动报错可以参考:http://www.pianshen.com/article/6992279516/

()

3设置ustc镜像


4:Docker启动和停止

开启:systemctl  start  docker

=========

启动docker容器时报错:

iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT --to-destination 172.18.0.4:5000 ! -i br-ff45d935188b: iptables: No chain/target/match by that name. (exit status 1)

解决方案:重启docker

systemctl restart docker

————————————————

版权声明:本文为CSDN博主「冰山上的来客_胡杨」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_42273374/article/details/82223640

=========

停止:systemctl  stop  docker

重启::systemctl  restart docker

启动状态: systemctl  status  docker

开机自己启动:  systemctl enalbe  docker

=====常用命令;

1镜像相关:

查看镜像:     


搜索镜像


拉取镜像; docker pull  镜像名称  例如:  docker pull  centos:7

删除镜像:docker rmi 镜像id

删除所有镜像:docker rmi  `docker iamges -q`   这个2个引号是  Esc键 下面的引号

查看运行容器:docker ps

看所有容器:  docker ps -a

查看最后一次 运行的容器:   docker ps -l

========创建与启动容器:






=============应用部署

docker search 镜像名称  eg:docker search mysql  

1:mysql部署

1.1拉取mysq镜像

docker pull centos/mysql-57-centos7

1.2创建容器

docker run -di --name=tensquare_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7    

 docker run –name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.23

docker run -di --name=mysqltest -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql   

33306:是宿主机端口

:3306 容器端口

-p 代表端口映射

-e 代表 添加环境变量   MYSQL_ROOT_PASSWORD 是root用户登录密码

1.2.1: 创建成功之后可以使用sqlyog测试一下


1.3:进去mysql容器  (我运行成功 所以我使用了远程连接  sqlyog)

如果 连接不上就关闭防火墙

docker exec -it tensquare_mysql /bin/bash

1.4:登录mysql

mysql -u root -p

============tomcat部署

1:l拉取镜像

docker pull tomcat:7

2:创建容器

  -p :端口映射

-v  目录挂载

docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7

: 后面的路径是容器内的路径

测试:  上传一个war包(我使用的是FileZilla-3.7.3 这个工具上传的)

1:先给webapps 目录下上传一个war包

2:在浏览器中输入:http://192.168.206.131:9000/你war包的访问路径

==============nginx部署

1:拉取

docker pull  nginx

2:创建容器

docker run -di --name=mynginx -p 80:80 nginx

3:测试

浏览器 输入http://192.168.206.131/ 可以看到nginx 欢迎页面

查看nginx 默认配置默认的文件


1:进入容器   docker exec -it mynginx /bin/bash

2:将文件夹上传到远程服务器 (就是你的虚拟机中) 我上传到usr目录下了

3: 将你上传文件夹  放入到 nginx的  /usr/share/nginx/

4;在浏览器中输入 http://192.168.206.131/a.html

========redis部署

1拉取

docker pull  redis

2:创建容器

docker run -di  --name=myredis -p 6379:6379 redis

测试:通过redis 客户端 连接    redis-cli -h  远程地址  el: redis-cli -h  192.168.xxx.xxx

===========迁移与备份

1:将容器 保存为对象

docker  commit  mynginux  mynginux_1

查看 是否成功 docker images:

基于新创建的镜像在创建一个容器

docker run -di --name=mynginx2  -p 81:80  mynginux_1

测试:  浏览器输入  http://192.168.206.131:81


2:镜像备份

-o 后面是文件名称   mynginux.tar  

docker save  -o mynginux.tar  mynginux_1

测试:输入 dir  可以 看到 当前文件多了一个   mynginux.tar  

3:镜像恢复与迁移

先删除mynginux_1镜像 然后执行命令 进项恢复  如果mynginux_1的  容器  mynginx2正在运行 需要关闭

停止容器:   docker  stop  mynginx2

删除容器 :  docker rm  mynginx2

删除镜像:  docker rmi  mynginux_1

看看是否删除成功: docker images


镜像恢复

i:输入的文件

docker load  -i  mynginux.tar 

看看是否 成功:  docker images

===========DockerFile 常用命令

DockerFile 是由一系列命令和参数构成的脚本 这些命令应用于基础镜像并最终创建一个新的 镜像

1:对于开发人员可以 提供一个完全一致的的开发环境

2:对于测试人员可以直接拿开发时所构建的镜像或者通过dockerfile文件构建一个新的镜像开始工作

3:对于运维人员 部署时可以实现应用的无缝移植

常用命令:


使用脚本创建镜像

案例 构件jdk8

步骤:

1:创建目录

mkdir -p /usr/local/dockerjks8

2:上传jkd   

可以使用我之前说的FileZilla-3.7.3 这个工具   也可以使用sftp命令  Alt+p

3:移动到刚才创建 的目录 

mv  jdk-8u171-linux-x64.tar.gz /usr/local/dockerjks8

4进入该目录 构件DockerFile    依次输入命令

vi  Dockerfile


FROM centos:7

MAINTAINER:lww

WORKDIR /usr

RUN   mkdir  /usr.local/java

ADD  jdk-8u171-linux-x64.tar.gz /usr.local/java/

ENV  JAVA_HOME /usr/java/jdk1.8.0_171-amd64

ENV JRE_HOME usr/java/jdk1.8.0_171-amd64/jre

ENV  CLASSPATH  $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH

ENV  PATH $JAVA_HOME/bin:$JRE_HOME/bin:$PATH

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin




xie写完之后保存:  先按Esc 然后输入:wq

4:构件  

-t:镜像名称

. 指定文件夹  这里的. 代表当前目录

docker build -t='jdk1.8' .

查看是否构件成功: docker images  会发现多了一个 jdk1.8的镜像


===========私有仓库搭建

企业内部所使用的 仓库  

 私有仓库的创建与配置

1:拉取私有仓库对象

docker pull registry

2:启动私有仓库容器

docker  run  -di --name=myregistry -p 5000:5000 registry

测试  浏览器输入:  http://192.168.206.131:5000/v2/_catalog 

或者在命令行中:curl http://192.168.206.131:5000/v2/_catalog 

看到 {"repositories":[]} 表示私有仓库创建成功 并且内容为空

我的在浏览器没出现 {"repositories":[]}   但是让我下载daemon.json   下载完成 打开展示的也是{"repositories":[]} 

3: 修改deamon.josn

vi /etc/docker/daemon.json

添加以下内容

{“insecure-registries”:["192.168.206.131:5000"]}


{

    "graph": "/mnt/docker-data",

    "storage-driver": "overlay",

    “insecure-registries”:"192.168.227.128:5000"

}

此操作用于让docker信任私有仓库地址

为了让配置生效 重启docker

=====私有仓库上传镜像

:1:打标签  比如给jdk1.8 打标签     192.168.206.131:5000 私服地址

docker  tag jdk1.8 192.168.206.131:5000/jdk1.8

查看 docker images  会发现多了一个  192.168.206.131:5000/jdk1.8

2:上传

docker push  192.168.206.131:5000/jdk1.8

============错误

[root@mastersysconfig]# docker push 192.168.1.100:5000/registry:2.4.1Thepush refers to a repository [192.168.1.100:5000/registry]Gethttps://192.168.1.100:5000/v1/_ping:https:server gaveHTTPresponse toHTTPSclient

解决:

在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入:

{ "insecure-registries":["你自己虚拟机的ip:5000"]}

重启docker。 systemctl restart docker


==============

3;测试 

 http://192.168.206.131:5000/v2/_catalog 

会出现  {"repositories":["jdk1.8"]}

我们现在可以将本地的 jdk和打标签的jdk 删除 然后从私有库中下载

docker rmi  jdk1.8

docker rmi  192.168.227.128:5000/jdk1.8

查看是否删除:docker images

docker pull 192.168.227.128/jdk1.8

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