一、docker安装

centos安装docker

sudo yum update

sudo yum install -y yum-utils device-mapper-persistent-data 1vm2

sudo yum-config-manager --add-repo http://mirrors.ailiyun.com/docker-ce/linux/centos/docker-ce.repo

sudo yum install docker-ce

docker -v
sudo vim /etc/docker/daemon.json

添加
{
  "registry-mirrors": ["https://y0qd3iq.mirror.aliyuncs.com"]
}

1 docker 启动

systemctl start docker

2 查看docker状态

systemctl status docker

3 停止docker

systemctl stop docker

4 重启docker

systemctl restart docker

5 设置开机自启动

systemctl enable docker
docker info 
docker --help

二、docker 常用命令

1 镜像相关命令

1.1 查看镜像

docker images

1.2 搜索镜像

docker search centos

1.3 拉取镜像

docker pull 镜像名称
eq:
docker pull centos 

1.4删除镜像

1.4.1 按id删除镜像

docker rmi 镜像id

1.4.2删除所有镜像

docker rmi `docker rmi -q`

2 容器相关命令

2.1 查看正在运行的容器

docker ps

# 查看所有
docker ps -a

2.2 创建启动容器

命令及参数

命令:docker run

-i: 表示运行容器

-t: 表示容器启动后会进入其命令行

–name: 为创建的容器命名

-v: 表示目录映射关系

-d: 会创建一个守护容器在后台运行(这样创建容器不会自动登录容器,如果只加-i-t两个参数,创建后自动登录容器)

-p: 表示端口映射,前者是宿主主机端口,后者是容器内的映射端口

docker run -it --name=容器名称 镜像名称:标签 /bin/nash

docker run -it --name=mycentos centos:7 /bin/nash

#查看启动的容易
docker ps 

(2)守护式方式创建容器

docker run -di name=容器名称 镜像名称:标签

登录守护式方式

docker exec -it 容器名称(或者容器id) /bin/bash

file

2.3 停止容器

docker stop 容器名称(或者容器id) 

file

2.4 启动容器

docker start 容器名称(或者容器id) 

2.5 文件拷贝

docker cp 需要拷贝的文件或者目录 容器名称:容器目录
#容器拷贝宿主机
docker cp 容器名称:容器目录  需要拷贝的文件或者目录 

file

2.6 目录挂载(同步)

docker run -di --name=mycentos3 -v /usr/local/myhtml:/usr/localmyhtml centos:7 

2.7 查看容器ip地址

docker inspect 容器名称

eq: 显示很多信息
docker inspect mycentos2

file

docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos2

file

2.8 删除容器

if 容器正在运行 需要关闭 然后移除

docker rm 容器名称

file

三、应用部署

1 MySQL部署

(1)拉取mysql镜像

docker pull centos/mysql-57-centos7 

(2)创建容器

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

-p: 代表端口映射,格式 宿主机映射端口:容器运行端口

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

(3)进入mysql容器

docker exec -it tensquare_mysql /bin/bash

(4)登录mysql

mysql -u root -p

(5)远程登录mysql

连接宿主机的ip 端口33306

2 tomcat部署

(1)拉取tomact镜像

docker pull tomcat:7-jre7

(2)创建容器

端口映射

目录挂载

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

3 Nginx部署

(1)拉取nginx镜像

docker pull nginx

(2)创建容器

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

(3)进入nginx容器

docker exec -it mynginx /bin/bash

镜像目录

file

nginx 安装目录

/etc/nginx

file

nginx 配置文件 nginx.conf

file

conf.d/*.conf :包含的配置文件

file

file

/usr/share/nginx/html文件夹:访问nginx静态页面

file

4 Redis部署

(1)拉取redis镜像

docker pull redis

(2)创建容器

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

四、迁移与备份

1 容器保存为镜像

docker commit mynginx(容器名称) mynginx_i(镜像名称)

2 镜像备份

docker save -o mynginx.tar(导出的文件) mynginx_i(镜像名称)

3 镜像恢复

docker load -i  mynginx.tar(文件名)

五、Dockerfile

1 Dockerfile简介

Dockerfile由一系列命令和参数构成的脚本,这些命令应用于基础镜像并穿件一个新的镜像。

2 常用命令

file

file

file

file

六、Docker私有仓库

1 创建私有仓库镜像

(1拉取私有仓库镜像

docker pull registry

(2) 启动私有仓库镜像

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

(3) 验证

打开浏览器访问http://192.168.141.129:5000/v2/_catalog

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

(4)修改/etc/docker下的daemon文件

添加

"insecure-registries":["192.168.141.129:5000"]

重启docker

systemctl restart docker

2 镜像上传到私有仓库

(1)标记此镜像为私有仓库的镜像

docker tag jdk1.8(自己的镜像) 192.168.141.129:5000

(2)上传标记的镜像

docker push 192.168.141.129:5000/jdk1.8
作者:|萌褚|,原文链接: http://www.imooc.com/article/325535

文章推荐

Redis的三种持久化策略及选取建议

Angular 应用里 ng-package.json 文件的作用是什么?

深入理解 Python 虚拟机:字节(bytes)的实现原理及源码剖...

Docker原理

【单元测试】Junit 4(八)--junit4 内置Rule

【ASP.NET Core】修改Blazor.Server的Hub地址后引发的问题

图形验证码验证行式的笔记

shell脚本获取文件名字

评估指标与评分(上):二分类指标

对 Python 中 GIL 的一点理解

【系统设计】设计一个限流组件

SpringBoot 整合 RabbitMQ 实现消息可靠传输