博客
关于我
Docker--安装使用
阅读量:578 次
发布时间:2019-03-11

本文共 3912 字,大约阅读时间需要 13 分钟。

文章目录

1. Docker简介

沙箱:隔离/安全

Docker:开源应用容器引擎,使用go语言,遵顼Apache 2.0协议
容器:使用沙箱机制,相互之间不提供任何接口,且开窍极低
Docker容器优势:启动快,占用资源少
镜像:通过镜像创建容器,类似操作系统镜像
仓库:镜像的集中存放地

2. 安装 Docker

2.1 安装仓库

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

# 安装相关系统工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加yum源sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 更新yum缓存sudo yum makecache fast

2.2 安装Docker引擎

2.2.1 安装最新版本

# 默认安装最新社区版的Docker引擎和容器sudo yum install docker-ce docker-ce-cli containerd.io

2.2.2 安装特定版本

# 列出并排序您存储库中可用的版本(按版本号从高到低排序)yum list docker-ce --showduplicates | sort -r# 安装特定版本sudo yum install docker-ce-18.09.1 docker-ce-cli-18.09.1 containerd.io

3. docker管理

# 查看docker引擎状态systemctl status docker# 停止docker引擎systemctl stop docker# 启动docker引擎systemctl start docker

备注:必须才docker引擎运行的状态下才可以进行容器和镜像管理

4. 镜像管理

# 镜像搜索docker search image_name# 搜索官方镜像docker search --filter "is-official=true" image_name# 是否自动化构建docker search --filter "is-automated=true" image_name# 大于多少颗星docker search --filter stars=3 image_name# 下载镜像docker pull image_name    eg:docker pull centos:version# 镜像查看docker images# 具体镜像查看docker images image_name# 镜像删除docker rmi image_name# 制作镜像docker commit -a "author" -m "message" container_name/container_id new_image_name:tag_name    -a:指定镜像作者    -m:提交信息    container_name/container_id:待制作镜像的容器    new_image_name:新镜像名称    tag_name:镜像标签,如latest

5. 容器管理

5.1 基础

# 创建容器docker run -itd --name=container_name image_name    -i:表以交互式模式运行    -d:表后台运行,并返回容器id    -t:为容器分配一个伪输入终端    --name:为容器指定名称# 查看正在运行的容器docker ps# 查看所有容器docker ps -a# 查看最近一次创建的容器docker ps -l# 启动容器docker start container_name/container_id# 停止容器docker stop container_name/container_id# 重启容器docker restart container_name/container_id# 删除容器docker rm container_name/container_id# 进入容器docker exec -it container_name/container_id /bin/bash# 退出容器exit

5.2 进阶

端口映射

docker run -itd --name=container_name -p 宿主机端口号:容器端口号 image_name    eg:docker run -itd --name=nginx -p 8888:80 nginx

文件挂载

docker run -itd --name=container_name -p 宿主机端口号:容器端口号 -v 宿主机/文件目录:容器名/文件目录 image_name    eg:docker run -itd --name=nginx -p 8888:80 -v  /usr/local/zy/web01.html:/usr/share/nginx/html/index.html nginx        注:docker中的root只是相当于普通用户    Docker宿主机文件修改但容器内未修改解决办法:1、重启;2、http://ju.outofmemory.cn/entry/289286

文件复制

# 容器-->宿主机docker cp 容器名:目录/文件(夹)    宿主机目录/文件(夹)# 宿主机-->容器docker cp :宿主机目录/文件(夹)   容器名:目录/文件(夹)

容器互联

  • Docker中一个容器一般仅运行一个服务,当某个服务需要更新时,替换其中的容器即可。
  • 容器间一般采用容器互联机制:容器互联大体有以下三种方式,使用link进行容器互联:1、基于volume的互联;2、基于link的互联;3、基于网络的互联。使用–link参数让容器间进行交互:
  • 首先创建数据库容器:
    [root@centos7 ~]# docker run -d --name mysqldb -p3306:3306 -e MYSQL_ROOT_PASSWORD=fanshine mysql/mysql-server
  • 然后创建web容器,并将其连接到db容器:
    [root@centos7 ~]# docker run -d -p 80:80 --name nginxweb --link mysqldb:mysqldb nginx/nginx-server
    此时web容器与db容器建立了互联关系。
  • 注意:–link参数格式为–link name:alias,其中name是要链接的容器名称,alias是这个连接的名称。

5. 安装mysql

# 拉取镜像docker pull mysql# 创建挂在目录mkdir -p /var/cnmp/# 创建容器cd /var/cnmp/docker run -itd -p 3306:3306 --name mysql -v $pwd/mysql/conf:/etc/mysql/conf.d -v $pwd/mysql/logs:/var/logs -v $pwd/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456 -d --privileged=true mysql# 进入容器docker exec -it mysql /bin/bash# 进入数据库mysql -uroot -p123456# 使用数据库show databases;create database db01;use db01;create table t_book(id int not null primary key, bookName varchar(20));insert into t_book values(1, 'java');select * from t_book;# mysql8 连接use mysql;select user,host from user;##更改加密方式ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;##更改密码ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';##刷新权限`FLUSH PRIVILEGES;

6. 阿里云安装jenkins

# 拉取官方镜像docker pull jenkins# 运行docker-jenkinsdocker run -itd --name=jenkins -p 8080:8080 jenkins# 开放阿里云端口登陆---控制台---云服务ESC---实例id---本实例安全组---配置规则---添加安全组规则# 密码存放位置docker exec -it jenkins /bin/bash# 查看密码cat /var/jenkins_home/secrets/initialAdminPassword

转载地址:http://lsztz.baihongyu.com/

你可能感兴趣的文章
mysql 将null转代为0
查看>>
mysql 常用
查看>>
MySQL 常用列类型
查看>>
mysql 常用命令
查看>>
Mysql 常见ALTER TABLE操作
查看>>
MySQL 常见的 9 种优化方法
查看>>
MySQL 常见的开放性问题
查看>>
Mysql 常见错误
查看>>
mysql 常见问题
查看>>
MYSQL 幻读(Phantom Problem)不可重复读
查看>>
mysql 往字段后面加字符串
查看>>
mysql 快照读 幻读_innodb当前读 与 快照读 and rr级别是否真正避免了幻读
查看>>
MySQL 快速创建千万级测试数据
查看>>
mysql 快速自增假数据, 新增假数据,mysql自增假数据
查看>>
MySql 手动执行主从备份
查看>>
Mysql 批量修改四种方式效率对比(一)
查看>>
Mysql 报错 Field 'id' doesn't have a default value
查看>>
MySQL 报错:Duplicate entry 'xxx' for key 'UNIQ_XXXX'
查看>>
Mysql 拼接多个字段作为查询条件查询方法
查看>>
mysql 排序id_mysql如何按特定id排序
查看>>