总结Ubuntu16.04和CentOS上Docker的安装与使用示例(简单入门)

一、Docker是什么?

容器是一种应用环境打包技术,使应用程序可以在几乎任何地方以相同的方式运行。

容器使软件具备了超强的可移植能力。

Docker的核心组件,包括Docker客户端(client)、Docker服务端(docker daemon)、镜像(Image)、注册中心(Registry)Doctor容器(Container),参见下图。Docker是C/S架构。客户端向服务端发送请求,服务端负责构建、运行和分发容器。

Docker客户端最常用的是docker命令。通过docker可以方便地在宿主机(Host)上构建和运行容器。

Docker daemon是服务器组件,以Linux后台服务的方式运行。

Docker镜像可以创建Docker容器,镜像有多种生成方法:可以从无到有开始创建镜像;也可以下载并使用别人创建好的现成的镜像;还可以在现有镜像上创建新的镜像。将镜像的内容和创建步骤描述在一个名为Dockerfile文件中,通过在客户端执行docker build <docker-file>命令可以构建出docker镜像。

Docker容器就是Docker镜像的运行实例。Registry是存放Docker镜像的仓库,Registry分私有和公有两种。Docker Hub(https://hub.docker.com/)是默认的Registry,由Docker公司维护,上面有数以万计的镜像,用户可以自由下载和使用。考虑到速度或安全方面,用户也可以创建自己的私有Registry(比如harbor)。

(此上内容参考CloudMan的<<Docker容器>>,可以关注其微信公众号:CloudMan)

二、CentOS安装Docker

1.安装一些必要的系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2.添加软件源信息

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

3.更新 yum 缓存

sudo yum makecache fast

4.安装 Docker

sudo yum -y install docker

(5)启动 Docker 后台服务并设置开机启动

systemctl start docker && systemctl enable docker

5.验证安装是否成功,可以通过以下任意命令即可

(1)查看docker服务的运行状态

systemctl status docker

(2)查看其版本信息

docker -v 或者 docker info

三、ubuntu16.04上安装Docker

1.先卸载 可能存在的旧版本

sudo apt-get remove docker docker-engine docker-ce docker.io

2. 更新apt包索引

sudo apt-get update

3.安装以下包以使apt可以通过HTTPS使用存储库(repository)

sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

4. 添加Docker官方的GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

注意:要出现ok才行。

5. 使用下面的命令来设置stable存储库

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

6.再更新一下apt包索引

sudo apt-get update

7.安装最新版本的Docker CE

sudo apt-get install -y docker-ce

8.验证

参见CentOS上的验证

四、修改Docker Hub注册中心

为什么需要修改?主要就是由于国外的源访问速度很慢,有时候拉取镜像会失败。

下面使用阿里的加速网址。

1.首先,去下述网站申请个阿里加速网址

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

2.修改daemon配置文件来使用加速网址

(1)编辑daemon文件

vi /etc/docker/daemon.json

(2)修改内容

{
     "registry-mirrors": ["加速网址"] 
}

3.重启Docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

五、使用示例1:在docker上安装mysql

1.查询 注册中心(register)上mysql镜像

docker search mysql

2.拉取镜像

docker pull mysql 

可以通过下述命令查看镜像是否拉取成功

docker images | grep mysql

3.在当前用户目录下~(或自己任意选择目录也可)创建目录docker/mysql,在mysql目录里创data、logs、conf三个目录

4.在~/docker/mysql目录下运行容器

docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=【root用户密码】 -d 【镜像ID或镜像名称】

命令参数解析:

-p 3306:3306 :将容器的3306端口映射到安装Docker主机的3306端口

--name mysql:为启动的容器命名为mysql

-v $PWD/conf:/etc/mysql/conf.d:将安装Docker主机上当前目录下的conf目录挂载到容器的/etc/mysql/conf.d

-e  MYSQL_ROOT_PASSWORD=root用户密码:初始化root用户的密码

-d 镜像ID或名称:表示要使用的镜像

5.查看容器是否启动成功

docker ps

出现上述情况说明安装成功。

若要进入容器可以使用下述命令:

docker exec -it 容器ID或name bash

比如:docker exec -it mysql bash

安装成功后可以采用Navicat等可视化软件进行数据库操作,若由于安装的mysql版本较高时,可能出现连接不上。

这时再使用以下步骤创建一个新用户进行连接。

(1)进入容器

docker exec -it mysql(容器名称) bash

(2)登录 mysql: 

mysql -uroot -p (需要输入前面初始化的root用户密码)

ALTER USER 'root'@'localhost' IDENTIFIED BY '【root用户密码】';

(3)添加新用户用来连接

CREATE USER '【新用户名】'@'%' IDENTIFIED WITH mysql_native_password BY '【root用户密码】';

GRANT ALL PRIVILEGES ON *.* TO '【新用户名】'@'%';

此时就可以使用新的用户来进行连接MySQL数据库了。

六、使用示例2:在Docker容器中安装Redis

1.拉取镜像

docker pull redis

2.启动容器

docker run -p 6379:6379 -v $PWD/data:/data -d redis redis-server --appendonly yes

3.进入redis

docker exec -it 43f7a65ec7f8(容器id) redis-cli

4.设置redis密码

config set requirepass 123456

5.认证密码:

auth 123456

tip: 获取密码

config get requirepass

6.停止容器

docker stop 容器ID

7.再重新启动容器

docker start 容器ID

注意:容器ID通过docker ps -a来获取,注意要重新设置redis密码

附上: Redis的简单使用

(1)设置key值:

set [key] [value]

(2)获取key值:

get [key]

(3)获取所有的key:

keys *

(4)删除key:

del [key]

(5)删除所有key:

flushall

以上是我学习docker的一些总结,希望能帮助想要快速上手使用Docker的你。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值