docter篇:docter相关操作

一、Docker安装与启动

复制代码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
# 1.yum 包更新到最新 # yum remove docker docker-common docker-selinux docker-engine # rm -rf /var/lib/docker yum update # 2.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 # 3.设置yum源为阿里云 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 4.安装dovter并自动确认 yum install docker-ce -y # 5. 查看版本,docker发布的年月日命名 docker -v # 6. 启动docker systemctl start docker # 7.关闭docker systemctl stop docker # 8. 开机自启动 systemctl enable docker # 9.查看docter信息 docker info # 10.重启docker systemctl restart docker # 11.查看docter状态 systemctl status docker # 12.查看docter帮助 docker --help

二、docter镜像加速

2.1 编辑该文件

复制代码
  • 1
vi /etc/docker/daemon.json

2.2 文件内容插入如下

复制代码
  • 1
  • 2
  • 3
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }

三、镜像相关命令

3.1 常用命令

复制代码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
# 远程仓库下载的,官方的https://hub.docker.com/ # 镜像:images #1 下载镜像 # docker pull下载 # centos:centos7 镜像名字:版本/tag docker pull centos:centos7 docker pull redis # 不写冒号,默认下最新的latest # 2 查找镜像---》是否是官方,点赞数大小 -方式一网址搜:https://hub.docker.com/ -方式二: docker search centos(镜像名) # 3 查看本地镜像 docker images # 4 镜像删除 docker rmi 镜像名字:tag/镜像id # 5 一次性删除所有镜像 docker rmi `docker images -q`

3.2 官网查看镜像信息

复制代码
  • 1
  • 2
  • 3
  • 4
  • 5
NAME:仓库名称 DESCRIPTION:镜像描述 STARS:用户评价,反应一个镜像的受欢迎程度 OFFICIAL:是否官方 AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

四、容器相关命令

复制代码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
# 1 查看正在运行的容器 docker ps # 2 查看所有容器,无论停止还是运行 docker ps -a # 3 创建容器并启动(创建容器,运行容器) docker run -id --name=mycentos -v 宿主机路径:容器路径 -p 宿主机端口:容器端口 -i:表示运行容器 镜像名字:tag -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。 -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。 --name :为创建的容器命名。 -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。 -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射 (1)交互式方式创建容器 docker run -it --name=容器名称 镜像名称:标签 /bin/bash (2)守护式方式创建容器: docker run -di --name=容器名称 镜像名称:标签 守护式方式登录容器 docker exec -it 容器名称 (或者容器ID) /bin/bash ### docker run -it centos:centos7 -启动容器,自动命名,进入到容器内部,如果exit退出,容器也就结束了,不运行了 -因为容器运行必须有一个前台进程夯住阻塞,前台进程结束,容器也就结束了 ### docker run -id --name=mycentos7 centos:centos7 -进入到容器内部操作 -ssh连过去(需要容器支持,安装ssh,启动,监听22端口),一般不用 -docker exec -it 96a5 /bin/bash # 本质是在96a5容器上执行一下 bash命令 ### docker run -id --name=mycentos2 -v /root/lqz:/home/lqz centos:centos7 -以后再容器内部操作lqz文件夹和在宿主机操作是一样的 ### docker run -id --name=myredis -p 6380:6379 redis -以后直接链接宿主机的6380就相当于链接容器的6379端口 #### mysql做目录映射,创建数据库,删除容器操作,再用别的容器运行,数据库还在 mkdir /home/mysql mkdir /home/mysql/conf.d mkdir /home/mysql/data/ # 创建my.cnf配置文件 touch /home/mysql/my.cnf [mysqld] user=mysql character-set-server=utf8 default_authentication_plugin=mysql_native_password secure_file_priv=/var/lib/mysql expire_logs_days=7 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections=1000 docker run -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysqlmy -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 #3 停止容器 docker stop 容器id # 启动容器 docker start 容器id #4 删除容器:必须先停止再删 docker rm 容器id 容器id 容器id #5 文件拷贝 # 从宿主机copy文件到容器 docker cp 需要拷贝的文件或目录 容器名称:容器目录 docker cp lqz.txt ff78cece7d61:/home #从容器copy文件到宿主机 docker cp 容器名称:容器目录 需要拷贝的文件或目录 docker cp ff78cece7d61:/home/lqz.txt /root/lqz.txt #6 查看容器详情,ip地址 docker inspect ff78cece7d61(容器名/容器id) docker inspect --format='{{.NetworkSettings.IPAddress}}' ff78cece7d61 #7 退出当前容器 exit # netstat 命令没有 yum install net-tools 安装

五、应用部署

复制代码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
# 运行mysql docker run -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysqlmy -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 # 运行redis docker run -di --name=myredis5 -v /root/lqz/redis.conf:/data/redis.conf -p 6379:6379 redis redis-server /data/redis.conf vim redis.conf # 配置如下 -------------------------------------- bind 0.0.0.0 daemonize no protected-mode no requirepass 123456 -------------------------------------- # 运行nginx docker run -di --name=mynginx -p 80:80 nginx
posted @   马氵寿  阅读(333)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开