2025年Docker笔记

Docker笔记安装 Docker 环境准备 1 需要会一点点的 Linux 基础 2 CentOS 7 3 我们使用 Xshell 连接远程服务器进行操作 环境查看 系统内核是 3 10 以上的 root iZj83aen795z uname r 3 10 0 514 26 2 el7 x86 64 系统版本

大家好,我是讯享网,很高兴认识大家。

安装Docker

环境准备

1,需要会一点点的Linux基础

2,CentOS 7

3,我们使用Xshell 连接远程服务器进行操作!

环境查看

# 系统内核是 3.10 以上的 [root@iZj83aen795zmfZ ~]# uname -r 3.10.0-514.26.2.el7.x86_64 

讯享网
讯享网# 系统版本 [root@iZj83aen795zmfZ ~]# 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" 

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 \ 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 # 推荐使用阿里云的,十分的快 # 更新yum软件包索引 yum makecache fast # 4,安装docker docker-ce 社区版 ee 企业版 yum install docker-ce docker-ce-cli containerd.io # 5,启动docker sudo systemctl start docker # 6,测试是否安装成功 docker version # 7,hello-world docker run hello-world # 8,查看一下下载的这个 hello-world sudo docker images 

了解:卸载docker

讯享网# 1,卸载docker yum remove docker-ce docker-ce-cli containerd.io #2,删除资源 rm -rf /var/lib/docker # /var/lib/docker docker的默认工作路径! 

阿里云镜像加速

1,登录阿里云找到容器服务


讯享网

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y6p7tTZo-82)(C:\Users\25775\AppData\Roaming\Typora\typora-user-images\image-010285.png)]

2,找到镜像加速地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EIGuh70U-85)(C:\Users\25775\AppData\Roaming\Typora\typora-user-images\image-.png)]

3,配置使用

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { 
    "registry-mirrors": ["https://qbcjgfqj.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 

回顾 Hello world流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RAuOoeWe-86)(C:\Users\25775\AppData\Roaming\Typora\typora-user-images\image-004733.png)]

Docker的常用命令

帮助命令

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

帮助文档的地址:https://docs.docker.com/engine/reference/commandline/

镜像命令

查看镜像

[root@iZj83aen795zmfZ ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 5 months ago 13.3kB # 解释 REPOSITORY 镜像的仓库源 TAG 镜像的标签 IMAGE ID 镜像的id CREATED 镜像的创建时间 SIZE 镜像的大小 # 可选项 -a, --all # 列出所有的镜像 -q, --quiet # 只显示镜像的id 

docker search 搜索镜像

讯享网[root@iZj83aen795zmfZ ~]# docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation… 9597 [OK] mariadb MariaDB is a community-developed fork of MyS… 3489 [OK] # 可选项,通过搜索来过滤 --filter=STARS=3000 # 搜索出来的镜像就是STARS大于3000的 

docker pull 下载镜像

# 下载镜像 docker pull 镜像名[:tag] [root@iZj83aen795zmfZ ~]# docker pull mysql Using default tag: latest # 如果不写 tag,默认就是 latest latest: Pulling from library/mysql 8559a31e96f4: Pull complete # 分层下载,docker images的核心 联合文件系统 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 pull docker.io/library/mysql:latest # 指定版本下载 [root@iZj83aen795zmfZ ~]# docker pull mysql:5.7 5.7: Pulling from library/mysql 8559a31e96f4: Already exists d51ce1c2e575: Already exists c2344adc4858: Already exists fcf3ceff18fc: Already exists 16da0c38dc5b: Already exists b905d1797e97: Already exists 4b50d1c6b05c: Already exists d85174a87144: Pull complete a4ad33703fa8: Pull complete f7a5433ce20d: Pull complete 3dcd2a278b4a: Pull complete Digest: sha256:32f9d9a069f7a735e28fd44ea944d53c61f990ba71460c5c183eca4854 Status: Downloaded newer image for mysql:5.7 docker.io/library/mysql:5.7 docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7 

docker rmi 删除镜像

讯享网docker rmi -f 容器id # 删除指定的容器 docker rmi -f 容器id 容器id 容器id # 删除多个容器 docker rmi -f $(docker images -aq) # 删除全部容器 

容器命令

说明:我们有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习

新建容器并启动

docker pull centos docker run [可选参数] image # 参数说明 --name="Name" # 容器名字 -d # 后台方式运行 -it # 使用交互方式运行,加入容器查看内容 -p # 指定容器的端口 -p 8080:8080 -p # ip:主机端口:容器端口 -p # 主机端口:容器端口(常用) -p # 容器端口 容器端口 -P # 随机指定端口 # 测试,启动并进入容器 [root@iZj83aen795zmfZ ~]# docker run -it centos /bin/bash [root@339ebca40b44 /]# ls # 查看容器内的centos bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var #从容器中退回主机 exit 

列出所有的运行的容器

讯享网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 # 强制停止当前容器 

常用其他命令

后台启动容器

讯享网# 命令 docker run -d 镜像名! docker run -d centos # 问题docker ps,发现 centos 停止了 # 常见的坑:docker 容器使用后台运行,就必须要有一个前台进程,docker 发现没有应用,就会自动停止 # nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了 # 后台启动 docker run -it centos /bin/bash 

查询日志

docker logs -f -t --tail 容器 #没有日志 # 自己编写一段shell脚本 docker run -d centos /bin/sh -c "while true;do echo qianjue;sleep 1;done" # 显示日志 docker logs -tf --tail 10 69c8a0b7ab70 -tf # 显示日志 --tail number # 要显示日志条数 

查看容器中的进程信息

讯享网# 命令 docker top 容器id  docker top 69c8a0b7ab70 UID PID PPID C STIME TTY TIME CMD root 11241 11222 0 

查看镜像的元数据

# 命令 docker inspect 容器id #测试 [root@iZj83aen795zmfZ ~]# docker inspect 69c8a0b7ab70 [ { 
    "Id": "69c8a0b7ab7033c47f1f198eba833afe03167cc4262dfc2cde1dcb34a6", "Created": "2020-06-10T09:14:50.Z", "Path": "/bin/sh", "Args": [ "-c", "while true;do echo qianjue;sleep 1;done" ], "State": { 
    "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 11241, "ExitCode": 0, "Error": "", "StartedAt": "2020-06-10T09:14:51.0Z", "FinishedAt": "0001-01-01T00:00:00Z" }, "Image": "sha256:cac686c7cf0081e0b37da2e9f4f768ddc5f6a26102ccd1c6954c1ee", "ResolvConfPath": "/var/lib/docker/containers/69c8a0b7ab7033c47f1f198eba833afe03167cc4262dfc2cde1dcb34a6/resolv.conf", "HostnamePath": "/var/lib/docker/containers/69c8a0b7ab7033c47f1f198eba833afe03167cc4262dfc2cde1dcb34a6/hostname", "HostsPath": "/var/lib/docker/containers/69c8a0b7ab7033c47f1f198eba833afe03167cc4262dfc2cde1dcb34a6/hosts", "LogPath": "/var/lib/docker/containers/69c8a0b7ab7033c47f1f198eba833afe03167cc4262dfc2cde1dcb34a6/69c8a0b7ab7033c47f1f198eba833afe03167cc4262dfc2cde1dcb34a6-json.log", "Name": "/nostalgic_hodgkin", "RestartCount": 0, "Driver": "overlay2", "Platform": "linux", "MountLabel": "", "ProcessLabel": "", "AppArmorProfile": "", "ExecIDs": null, "HostConfig":
小讯
上一篇 2025-02-24 13:41
下一篇 2025-03-26 23:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/65905.html