Docker学习笔记


title: Docker学习笔记
date: 2020-08-18 15:36:31
tags: /学习
categories: /学习

第一章 Docker安装与配置

1.卸载旧版本:
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
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.安装docker相关:
yum install docker-ce docker-ce-cli containerd.io
5.启动docker
systemctl start docker
6.使用docker version查看是否成功
{% asset_img docker安装.png This is an image %}
7.hello-world:
docker run hello-world安装成功
8.查看镜像:
docker images
9.配置阿里云镜像加速(每个人地址不一样):
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://3mqs2tqw.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker


第二章 Docker基本命令

这里给出官网文档地址:https://docs.docker.com/

2.1 帮助命令

docker version 显示docker版本信息
docker info 显示docker系统信息,包括镜像和容器数量

2.2 镜像命令

2.2.1 docker images 显示所有本地镜像

REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 7 months ago13.3kB
解释:REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的创建时间
SIZE 镜像大小
可选项:
-a, --all 列出所有镜像
-q, --quiet 只显示镜像id

2.2.2 docker search 搜索镜像

[root@iZ2ze7pphwwibnvinufi8yZ ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 9869 [OK]
可选项,通过收藏来过滤:
–filter=STARS=3000 搜索出来的镜像收藏大于3000

2.2.3 docker pull 下载镜像

下载镜像:docker pull 镜像名[:tag] (不写tag,默认下载最新版)
[root@iZ2ze7pphwwibnvinufi8yZ ~]# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
bf5952930446: Pull complete 分层下载,docker image的核心,联合文件系统
8254623a9871: Pull complete
938e3e06dac4: Pull complete
ea28ebf28884: Pull complete
f3cef38785c2: Pull complete
894f9792565a: Pull complete
1d8a57523420: Pull complete
6c676912929f: Pull complete
ff39fdb566b4: Pull complete
fff872988aba: Pull complete
4d34e365ae68: Pull complete
7886ee20621e: Pull complete
Digest: sha256:c358e72e100ab493a0304bda35e6f239db2ec8c9bb836d8a427ac34307d074ed 签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest 真实地址

2.2.4 docker rmi -f id 删除镜像

docker rmi -f id id 删除多个镜像
docker rmi -f $(docker images -aq) 删除全部镜像

2.3 容器命令

容器需要通过镜像才能创建,所以需要先下载镜像测试学习
docker pull centos
新建容器并启动
docker run [可选参数] image

参数说明:
–name=“Name” 容器名字:tomcat01 tomcat02,用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器内查看内容
-p 指定容器的端口 -p 8080:8080
-p ip:主机端口:容器端口(常用)
-p 主机端口:容器端口(常用)
-p 容器端口
-P 随机指定端口

测试:启动并进入容器
[root@iZ2ze7pphwwibnvinufi8yZ ~]# docker run -it centos
[root@135c1eeee9f8 /]# ls 查看容器内的centos
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
列出运行的容器:
docker ps 当前运行的容器
可选参数:-a 当前运行的容器+历史运行过的容器
-n=? 显示最近创建的容器
-q 只显示容器的编号
退出容器
exit 容器停止并退出
Ctrl+P+Q 容器不停止退出
删除容器
docker rm 容器id 删除指定容器,不能删除正在运行的容器,强制删除rm -f
docker rm -f $(docker ps -aq) 删除全部容器
docker ps -a -q|xargs docker rm 删除所有容器
启动和停止容器
docker start 容器id 启动容器
docker restart 容器id 重启容器
docker stop 容器id 停止当前运行容器
docker kill 容器id 强制停止当前容器

2.4 常用其他命令

2.4.1 后台启动容器

docker run -d 镜像名
docker容器使用后台运行,必须有一个前台进程,docker发现没有应用,就会自动停止

2.4.2 查看日志

docker logs
显示日志:
-tf 显示日志
–tail number 要显示的日志条数
docker logs -tf --tail 10 0d8619fef3f8

2.4.3 查看容器中的进程信息

docker top 容器id

2.4.4 查看容器的元数据

docker inspect

2.4.5 进入当前正在运行的容器

容器通常使用后台方式运行,需要进入容器,修改配置
docker exec -it 容器id
docker attach 容器id
docker exec 进入容器后开启新的终端,可以操作(常用)
docker attach 进入容器正在执行的终端,不会启动新的终端

2.4.6 从容器内拷贝文件到主机上

docker cp 容器id:容器内路径 目的主机路径
拷贝是手动过程,可以利用 -v 卷的技术实现自动同步

2.5 练习

2.5.1 部署nginx

1.搜索镜像:docker search nginx
2.下载镜像:docker pull nginx
3.启动容器: docker run -d --name nginx01 -p 3344:80 nginx
-d 后台运行
–name 容器命名
-p 宿主机端口:容器端口

2.5.2 部署tomcat

docker run -it --rm tomcat:9.0(用完即删)
下载再启动
docker pull tomcat
docker run -d -p 3355:8080 --name tomcat01 tomcat
进入容器
docker exec -it tomcat01 /bin/bash
发现问题
1.linux命令缺失2.没有webapps。阿里云镜像原因:默认最小镜像,删除了部分功能,保证最小可运行环境。

2.5.3 部署es+kibana

启动elasticsearch
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” elasticsearch:7.6.2
增加内存限制
docker run -d --name elasticsearch03 -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值