Docker学习笔记(第一阶段)

一、安装docker

1.步骤


# 1.卸载旧的docker版本

yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

# 2.需要的安装包

yum install -y yum-utils

# 3.设置镜像仓库

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo  #  默认是国外的
    
 yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  #  推荐使用阿里云镜像

# 4.更新yum

yum makecache fast

# 5.安装docker最新版   ce指的是社区版  ee是企业版

yum install docker-ce docker-ce-cli containerd.io

# 6.启动docker

systemctl start docker

# 7.使用 docker version  来查看是否启动


# 8.测试hello world docker run hello-world


docker serach 对应版本 docker latest 版本_linux

 


# 9.注意 当使用docker run XXX 来运行的时候, 如果在本机镜像里没有找到对应的(XXX)镜像,则会去docker hub 下载下来。 # 10.查看下载的镜像 docker images


 

2.附docker官网和帮助文档

官网地址:Empowering App Development for Developers | Docker

帮助文档:

docker serach 对应版本 docker latest 版本_mysql_02

 

3.docker run 流程

docker serach 对应版本 docker latest 版本_mysql_03

 

4.重要

4.1 我们有了镜像才可以创建容器!!!

4.2 容器是通过镜像创建的

二、Docker 常用命令

1.帮助命令


docker version     #查看docker版本 docker info        #显示docker的系统信息,包括镜像和容器的数量 docker 命令 --help  # 帮助命令


2.镜像命令

2.1、查看镜像命令


docker images  #查看全部镜像命令


docker serach 对应版本 docker latest 版本_linux_04

 


docker images --help   #查看镜像命令帮助


docker serach 对应版本 docker latest 版本_linux_05

 


docker images -a    #查看全部镜像


docker serach 对应版本 docker latest 版本_mysql_06

 


docker images -q   #仅仅显示镜像的id   经常用到


docker serach 对应版本 docker latest 版本_运维_07

 

2.2、搜索镜像命令


docker search XXX   #搜索镜像命令  


# 以搜索 mysql 镜像为例 docker search mysql


docker serach 对应版本 docker latest 版本_docker serach 对应版本_08

 


docker search --help    #查看搜索镜像命令的全部帮助


docker serach 对应版本 docker latest 版本_mysql_09

 


docker search mysql --filter=STARS=5000   #搜索stars为5000的mysql镜像   --filter 为过滤


docker serach 对应版本 docker latest 版本_docker serach 对应版本_10

 

2.3、下载镜像命令


docker pull XXX  #下载镜像命令 默认下载最新版本 docker pull XXX:[tag]   # 下载指定版本镜像


docker pull --help   #下载镜像命令的查看帮助


docker serach 对应版本 docker latest 版本_docker_11

 


docker pull mysql     #下载mysql镜像 docker pull mysql:5.7   #下载指定版本的mysql镜像


2.4、删除镜像命令


docker rmi XXX   #删除镜像


docker rmi --help   #查看帮助 docker rmi -f [id、name....]   #通过id等删除


docker serach 对应版本 docker latest 版本_mysql_12

 


docker rmi -f $(docker images -aq)    #删除全部镜像命令


2.5、提交镜像命令(commit)


docker commit -a="作者" -m="提交的信息描述" 容器id 目标镜像名:[TAG] #例子: docker commit -a"ljy" aaa aaa01:1.0


3.容器命令

3.1、说明


我们有了镜像才可以创建容器!!!


3.2、新建容器并启动


docker run [可选项] image #可选项说明 --name="Name"   #容器名字 -d              #后台启动容器 -it           #交互方式 进入容器 -P            #指定容器端口(大P) -P 主机端口:容器端口(常用) -P            #随机指定(小p)


# 测试   启动并进入容器 [root@Ljy01 ~]# docker run -it centos /bin/bash [root@e66e15903e3a /]#


 


#退出容器并停止 exit #退出容器但不停止容器运行 ctrl+p+q [root@e66e15903e3a /]# exit exit [root@Ljy01 ~]# ^C


 


#进入容器命令 docker exec -it 容器名 /bin/bash



# 查看当前正在运行的容器 docker ps


docker serach 对应版本 docker latest 版本_mysql_13

 


# 删除容器 docker rm 容器id #启动容器 docker start id #重启容器 docker restart id #停止容器 docker stop id #杀掉容器 docker kill id


三、练习:安装Nginx

1.搜索Nginx


docker search nginx


docker serach 对应版本 docker latest 版本_docker_14

 

2.下载镜像


docker pull nginx


docker serach 对应版本 docker latest 版本_运维_15

 

3.启动镜像


docker run -d --name nginx01 -p 3344:80 nginx     # -d 代表使用后台启动 # --name 代表我们自己给他的命名   这样如果我们启动多个nginx就可以区分 # -p     设置一个端口 # 3344   代表外网的端口号 # 80   nginx默认的端口号 # 3344:80   这样写 我们就可以使用3344访问docker的80


docker serach 对应版本 docker latest 版本_docker_16

 

4.测试


curl localhost:3344


docker serach 对应版本 docker latest 版本_linux_17

 

注意:外网访问dockek 端口暴露

docker serach 对应版本 docker latest 版本_mysql_18

 

docker serach 对应版本 docker latest 版本_mysql_19

 

四、可视化

1.工具

1.1 portainer

是什么?是一个docker 图形化管理攻击


# 安装 [root@Ljy01 ~]# docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer


docker serach 对应版本 docker latest 版本_docker serach 对应版本_20

 

docker serach 对应版本 docker latest 版本_运维_21

 

docker serach 对应版本 docker latest 版本_运维_22

 

docker serach 对应版本 docker latest 版本_docker serach 对应版本_23

 

2.2 rancher