docker 入门精华版-看完你就懂了
环境查看
#系统内核是3.0以上的
#系统版本 需要在centos7以上
[root@192 docker]# uname -r
3.10.0-514.el7.x86_64
[root@192 docker]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7
#安装 (查看docke官网查看帮助文档)
#1、卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#2、需要的安装包
yum install
-yyum-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
(这个是阿里云的,比较快建议,百度搜索‘docker的阿里云镜像地址’)
#4、更新安装包的索引
yum makecache fast
#5、安装docker最新版
yum install docker-ce docker-ce-cli containerd.io
#5、启动docker
systemctl start docker
#6、使用docker version 查看是否安装成功
#7、测试:docker run hello-world
#8、docker images 查看 hello-world 是否启动
##卸载docker
1、
yum remove docker-ce docker-ce-cli containerd.io
2、rm
-rf/var/lib/docker
docker的默认工作路径
阿里云镜像加速
登录阿里云 找容器镜像服务 镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://plqhpgdt.mirror.aliyuncs.com"]
} EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker 常用命令
帮助命令:
Docker version #显示docker的版本信息
Docker info #显示docker的系统信息,包括镜像和容器数量
Docker --help #帮助命令
帮助文档地址:https://docs.docker.com/reference/
镜像命令:
Docker images #查看所有本地的主机上的镜像
Docker search #搜索镜像
Docker pull #下载镜像
Docker rmi #删除镜像 -f $(docker images -aq) 删除所有容器
容器命令:
Docker run
参数说明:
-h 容器主机名
-v 宿主机目录 :容器目录
--restart=always docker重启,容器自动启动
--add-host=域名 :IP 添加域名和IP信息到容器的/etc/hosts文件中
-e 设置环境变量
--name=”name” #容器名字 tomcat1 tomcat2 用来区分容器
-d #后台方式运行
-it #使用交互方式运行,进入容器查看内容
-p #指定容器端口 -p 8080:8080
-p 主机端口:容器端口
-P(大P) #随机指定端口
Docker run -it nginx /bin/bash #第一种登录方式
Docker run -it -d --name=nginx -p 8080:8080 /bin/bash #第二种登录方式
docker run -d --name=nginx01 -p 3344:80 nginx #第三种登录方式
docker run -it -d --name=tomcat01 -p 3355:8080 tomcat #第四种登录方式
docker run -it -d --name=tomat01 -p 3306:3306 -v /tmp/123:/tmp/123 -h tomcat.txt
--restaet=always tomcat /bin/bash #第五种登录方式
#两种退出容器方式:Ctrl+p+q容器不停止退出 exit容器停止退出
Docker ps #查看正在运行的容器 ps -aq 只查看容器ID
Docker rm -f #删除容器
Docker start 容器ID #启动容器
Docker restart 容器ID #重启容器
Docker stop 容器ID #停止当前正在运行的容器
Docker kill 容器ID #强制停止当前容器
其他命令
查看日志:Docker logs -tf --tail 10 ID (正在运行的容器id)
查看进程:Docker top ID
查看镜像源日志:Docker inspect ID
进入当前正在运行的容器:
docker exec -it ID /bin/bash #进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach ID #进入容器正在执行的终端,不会启动新的进程
从容器内拷贝文件到主机上
#Docker cp 容器ID:容器内文件路径 要移动到那的路径
docker cp c0790bbcfa50:/home/jiava_taxt.bak /home/
#docker stats 查看docker的CPU状态
可视化
什么是Portainer?
Docker图形化界面管理工具,提供一个后台面板供我们操作。
#下载docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
#访问测试:http://192.168.52.00:8088
平时不会使用上 测试玩玩就行
修改镜像:commit
#启动一个默认的tomcat
#发现这个默认的tomcat 是没有webapps应用,官方默认镜像 webapps下面是没有文件的
#需要自己拷贝进去 cp -r webapps.dist/* webapps
#将操作过的容器通过commit提交一个镜像,以后就可以使用修改过的镜像即可,这就是我们自己修改的镜像
操作:docker commit -a="yongquan" -m="add webapps app" beee680ec1b5 tomcat02