记一次在B站看视频学的的docker笔记,后续继续更新



作者:狂神说Java 很棒的视频,有兴趣的可以去B站上学习

docker安装

https://docs.docker.com/engine/install/centos/

1、卸载


$ sudo 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/centos/docker-ce.repo

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo	
==更新软件包==
yum  makecache fast

4、安装docker ce社区版(推荐) ee企业版

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

5、启动docker

systemctl start docker

##6、查看是否启动

docker version

##7、启动命令

docker run xxx

8、查看docker下载的镜像

docker images

##9、卸载docker
1、卸载依赖

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

2、删除目录

 rm -rf /var/lib/docker

10、镜像加速阿里云

记一次在B站看视频学的的docker笔记,后续继续更新_第1张图片

1、sudo mkdir -p /etc/docker

2、sudo tee /etc/docker/daemon.json <<-'EOF' {
      "registry-mirrors": ["https://to0u57db.mirror.aliyuncs.com"] }

 3、EOF sudo systemctl daemon-reload 

4、sudo systemctl restart docker 

docker命令

地 址 文 档 : < h t t p s : / / d o c s . d o c k e r . c o m / r e f e r e n c e / > 地址文档: <https://docs.docker.com/reference/>

帮助命令

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

镜像命令

docker images 查看所有本机的主机上的镜像


# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        5 months ago        13.3kB
#解释
REPOSITORY	#镜像仓库源
TAG 	    #镜像的标签
IMAGE ID	#镜像ID
CREATED     #镜像的创建时间
SIZE	    #镜像的大小
# 可选项
 docker images --help #帮助命令
  -a, --all            #列出所有镜像
      --digests        #可视化
  -f, --filter filter  #过滤
  -q, --quiet          #只显示镜像的ID

docker search 搜索镜像

# docker search  mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   9609                [OK]                
mariadb                           MariaDB is a community-developed fork of MyS…   3493                [OK]                
# 可选项 通过搜索来进行过滤
--filter=STARS=3000 #将搜索出来的镜像就是status大于3000的

docker pull 下载镜像

dockerhub地址:https://hub.docker.com

#下载镜像 docker pull  镜像名:[:tag]
[root@AsenLinux ~]# docker pull mysql 
Using default tag: latest #如果不写tag 默认就是latest(最新的)
latest: Pulling from library/mysql
8559a31e96f4: Pull complete 
d51ce1c2e575: Pull complete 
c2344adc4858: Pull complete 
fcf3ceff18fc: Pull complete 
16da0c38dc5b: Pull complete 
b905d1797e97: Pull complete 
4b50d1c6b05c: Pull complete 
c75914a65ca2: Pull complete 
1ae8042bdd09: Pull complete 
453ac13c00a3: Pull complete 
9e680cd72f08: Pull complete 
a6b5dc864b6c: Pull complete 
Digest: sha256:8b7b328a7ff6de46ef96bcf83af048cb00a1c86282bfca0cb119c84568b4caf6 #签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #真实地址
#等价对比
docker pull mysql == docker.io/library/mysql:latest
#指定版本下载
# docker pull mysql:5.7

docker 删除镜像

# docker rmi -f 9cfcce23593a (通过 IMAGE ID 删除,删除单个容器)
# docker rmi -f 容器id 容器id 容器id (通过 IMAGE ID 删除,删除多个容器)
# docker rmi -f $(docker images -qa) 删除全部容器

容器命令

基本命令

说明:有了镜像才可以创建容器,liunx,下载一个centos镜像测试**

# docker pull centos
新建容器并启动
docker run [可选参数] images
#参数说明
--name = "name"	 容器名称。用来区分容器
-d				后台方式运行
-a				使用交互方式运行
-it				使用交互方式运行,进入查看内容
-p				指定容器端口 如:-p 8080:8080
	-p ip: 主机端口:容器端口
	-p 主机端口:容器端口(常用)
	-p 容器端口
-p				随机指定容器端口

#demo 启动并进入容器
[root@AsenLinux ~]# docker run -it centos /bin/bash 
#内部的centos
[root@fe1b3a0adfe2 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
#退出容器命令,从容器中退出主机 
exit
 # docker ps 命令
 # docker ps 查看当前运行的容器
   -a #列出当前运行的容器和历史
   -n # 列出最近运行的容器
退出容器
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		#强制停止当前容器

常用的其他命令

后台启动容器

#docker run -d 镜像名:
[root@AsenLinux ~]# docker run -d centos
#问题 docker  ps 发现启动后停止了

#常见的问题:docker 容器后台运行 ,就必须有个前台的进程,docker 发现没有应用 就会自动停止
 #niginx 容器启动后没有应用调用服务 停止

查看容器日志命令

# docker Logs -tf --tail 10 CONTAINER ID(值)

查看容器中的进程信息 ps

#docker top 容器id
#	docker top 8523b51dc9d4

查看镜像的元数据

# docker inspect --help
# docker inspect 容器id

进入当前正在运行的容器

#我们通常使用后台方式运行 需要进入容器,修改一些配置
#命令 docker exec 进入容器后开启新的(正常)
docker exec -it 容器id bashShell
# docker attach 进入容器正在执行的终端,不会启动新的进程
docker attach 容器id

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

docker cp 容器id:/容器文件夹/文件 /主机目录

docker命令小结

systemctl start docker #启动docker命令
docker version  #查看docker是否启动
docker images  #查看docker 下载 镜像
docker search  名称  #搜索镜像
docker pull  镜像名:[:tag] #下载镜像
docker rmi -f 9cfcce23593a (通过 IMAGE ID 删除,删除单个容器) #删除单个容器镜像
docker rmi -f 容器id 容器id 容器id (通过 IMAGE ID 删除,删除多个容器) # 删除多个容器镜像
docker rmi -f $(docker images -qa) #删除全部容器镜像 
 # docker ps 命令
 # docker ps 查看当前运行的容器
   -a #列出当前运行的容器和历史
   -n # 列出最近运行的容器
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		#强制停止当前容器
docker Logs -tf --tail 10 CONTAINER ID(值) #查看容器日志命令
docker top 8523b51dc9d4 #查看容器中的进程信息 ps
docker inspect 容器id #查看镜像的元数据
docker exec -it 容器id bashShell  #命令 docker exec 进入容器后开启新的(正常)
docker attach 容器id # docker attach 进入容器正在执行的终端,不会启动新的进程
docker cp 容器id:/容器文件夹/文件 /主机目录 #从容器内拷贝文件到主机上
docker stats # 查看内存状态

tomcat安装

#官方的使用 
docker run -it --rm tomcat:9.0 #用完及删除
#先下载在启动
#linux命令少,没有webapps  访问404  原因阿里云镜像,默认最小,把所有没用的东西删除掉
解决方案:
进入tomcat中拷贝webapps.dist
cd webapps.dist/
cp webapps.dist/* webapps

Nginx安装

[root@AsenLinux home]# docker run -d --name nginx01 -p 80:80 nginx
# run --启动
# -d  --后台运行
# --name 容器命名
# -p 宿主机端口和容器内部端口
 curl localhost:80 访问内部端口
 #进入容器
 docker exec -it nginx01/bin/bash

es+kibana安装

#es暴露的端口较多
#es 占用内存较多
#es的数据一般需要 放置到安全目录 挂载 
#  --net somenetwork  网络配置
#启动elasticsearch
docker pull elasticsearch
 docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
 # 启动后占用内存较大,服务器卡
  curl localhost:9200


curl localhost:80 访问内部端口
#进入容器
docker exec -it nginx01/bin/bash


# es+kibana安装

~~~shell
#es暴露的端口较多
#es 占用内存较多
#es的数据一般需要 放置到安全目录 挂载 
#  --net somenetwork  网络配置
#启动elasticsearch
docker pull elasticsearch
 docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
 # 启动后占用内存较大,服务器卡
  curl localhost:9200

你可能感兴趣的:(docker,linux,centos)