Justin-刘清政的博客

python/路飞项目/9-上线/1-docker

2020-03-07

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
"""
1)docker就是Linux上及其轻量的虚拟机

2)虚拟机是存在宿主系统中,通过镜像给宿主系统拓展子系统的(一个镜像理论上可以做n个子系统)

3)两个特别重要的概念
image:镜像
container:容器(子系统)

4)工作方式:
i)在服务器系统下载docker(为服务器安装虚拟机,服务器系统就是宿主系统)
ii)用docker去下载对应需求的镜像:镜像操作
iii)通过镜像制造容器(装子系统):容器操作


5)优势
i)超级轻量级,docker安装的容器体积可以按kB度量
ii)集群部署,docker可以通过一个镜像制造出多个一模一样的容器
iii)便捷管理所有镜像与容器(命令行操作)

6)镜像和容器特点
一般一个镜像中只包含一种软件:比如mysql镜像,创建的容器中只有mysql环境;redis镜像,创建的容器中只有redis环境
注:一个镜像中有多个环境的需要自己制作镜像
"""

CentOS安装Docker

设置管理Docker的仓库

1
2
3
4
5
6
7
"""
1)安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2)安装稳定仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
"""

安装Docker Engine-Community

1
2
3
4
5
6
"""
1)安装
>: yum install docker-ce docker-ce-cli containerd.io

2)如果提示您接受 GPG 密钥,请允许
"""

Docker基础命令

开启关闭

1
2
3
4
5
6
7
8
9
10
"""
1)启动
>: service docker start | systemctl start docker

2)关闭
>: service docker stop | systemctl stop docker

3)重启
>: service docker restart | systemctl restart docker
"""

镜像操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"""
1)列出镜像
>: docker image ls

2)拉取镜像
>: docker [image] pull 镜像名:版本
eg: docker image pull hello-world:latest

3)删除镜像
>: docker image rm 镜像ID

4)将容器反向打包镜像
>: docker save -o <文件名.tar> <镜像名>

5)根据打包的镜像文件加载镜像
>: docker load -i <文件名.tar>
"""

容器操作

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
"""
1)创建容器
>: docker run [选项参数] 镜像名 [命令]

2)查看所有容器:-a就是--all代表全部展示
>: docker container ls [-a]
>: docker ps [-a]

2)停止一个已经在运行的容器
>: docker [container] stop 容器id

3)启动一个已经停止的容器
>: docker [container] start 容器id

4)kill掉一个已经在运行的容器
>: docker [container] kill 容器id

5)删除容器
>: docker [container] rm 容器id

6)进入容器
>: docker [container] exec 参数 容器id bash
eg: docker exec -it 685e1 bash

7)退出容器
>: exit
"""

Docker安装Mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"""
1)安装
>: docker image pull mysql:5.7

2)创建容器:root根用户的密码MYSQL_ROOT_PASSWORD采用的是root
>: docker container run -itd -p3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7

注:本地测试
>: mysql -hIP -P端口 -uroot -p密码

>: mysql -h 39.99.192.127 -P 3306 -u root -p
>: root
>: create database luffy default charset=utf8;
>: grant all privileges on luffy.* to 'luffy'@'%' identified by 'Luffy123?';
>: grant all privileges on luffy.* to 'luffy'@'localhost' identified by 'Luffy123?';
>: flush privileges;
"""

Docker安装Redis

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
"""
1)安装
>: docker pull redis:4.0.9

2)创建容器
>: docker container run -itd -p6379:6379 redis:4.0.9

3)进入容器
>: docker container exec -it <容器名称/容器ID> bash

4)测试
>: redis-cli

>: redis-cli -h 39.99.192.127 -p 6379
>: config set requirepass Admin123
"""
使用支付宝打赏
使用微信打赏

点击上方按钮,请我喝杯咖啡!

扫描二维码,分享此文章