Docker 安装与使用

发布时间:2026/6/15 3:13:07
Docker 安装与使用
1. Docker 的安装1.1 docker 的安装docker是一种容器技术解决软件跨环境迁移的问题# 补包yum install -y yum-utils device-mapper-persistent-data lvm2 unzip# 添加阿里云仓库vi /etc/yum.repos.d/aliyum.repo[base] namebase baseurlhttps://mirrors.aliyun.com/centos/7/os/x86_64/ enabled1 gpgcheck0 [extras] nameextras baseurlhttps://mirrors.aliyun.com/centos/7/extras/x86_64/ enabled1 gpgcheck0 [epel] nameExtra Packages for Enterprise Linux 7 - $basearch baseurlhttp://mirrors.aliyun.com/epel/7/$basearch failovermethodpriority enabled1 gpgcheck0 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7​ yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache# 安装dockeryum install -y docker-ce docker-ce-cli containerd.io# 开启路由转发vim /etc/sysctl.confnet.ipv4.ip_forward 1sysctl -p1.2 配置镜像加速器访问阿里云相关页面https://promotion.aliyun.com/ntms/act/kubernetes.html搜索镜像服务点击 管理控制台执行操作文档中的命令sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://2q6ap672.mirror.aliyuncs.com] } EOF sudo systemctl daemon-reload sudo systemctl restart docker1.3 镜像命令docker images # 查看镜像 docker search 镜像名 # 搜索镜像 docker pull 镜像名 # 拉取镜像 docker pust 镜像名 # 推送镜像 docker rmi 镜像名 # 删除镜像1.4 容器命令docker ps # 查看容器 docker ps -a # 查看所有容器 docker ps -aq # 查看所有容器ID docker start/stop/restart/inspect/rm 容器名/容器ID # 启动/停止/重启/查看/删除 docker run -d # 创建容器 docker exec -it 容器名/容器ID # 进入容器1.5 数据卷宿主机中的一个目录或文件用于数据持久化和容器间的数据交换-v /usr/local/conf:/usr/lcoal/conf# 部署tomcat# 搜索镜像 docker search tomcat # 拉取镜像 docker pull tomcat:latest # 创建容器 docker run -d --name tomcat -p 18080:8080 \ -v /data/docker/volume/tomcat-app/:/usr/local/tomcat/webapps \ tomcat:latest # 查看容器 docker ps # 进入容器 docker exec -it tomcat /bin/bash2. DockerfileDockerfile是一个包含用于 组合镜像 的命令的文本文档 。可以使用在命令行中调用任何命令Docker 通过 dockerbuild命令 可以 读取Dockerfile中的指令 并自动生成新的 镜像2.1 编写dockerfilevim Dockerfile # Description: test image FROM busybox LABEL maintainernatasha natasha163.com apphttpd ENV WEBDIR/data/web/html RUN mkdir -p ${WEBDIR} echo this is a test web ${WEBDIR}/index.html CMD [ sh,-c,/bin/httpd -f -h ${WEBDIR} ]# 构建镜像docker build -f Dockerfile -t apache:v1 /data/docker/Docker-file2.2 dockerfile案例### 提供基础镜像 Centos最接近完整虚拟机 [rootdocker-31 /data/docker/images]# cd /data/docker/images/ [rootdocker-31 /data/docker/images]# wget http://192.168.6.100/Docker/images/centos7.9.2009.tar [rootdocker-31 /data/docker/images]# docker load centos7.9.2009.tar ### 创建专用目录和相关的文件 [rootdocker-31 /data/docker]# mkdir centos-nginx/ [rootdocker-31 /data/docker]# cd centos-nginx/ ### 提供水果忍者游戏 和 阿里云yum配置 [rootdocker-31 /data/docker/centos-nginx]# cp /etc/yum.repos.d/aliyun.repo ./ [rootdocker-31 /data/docker/centos-nginx]# wget http://192.168.6.100/web/fruit-game.tar.gz [rootdocker-31 /data/docker/centos-nginx]# ls aliyun.repo fruit-game.tar.gz ### 编写Dcokerfile FROM centos:centos7.9.2009 LABEL authorxunfang version7.9.2009 nginx_version1.20 appGame WORKDIR /etc/yum.repos.d/ RUN rm -rf /etc/yum.repos.d/*.repo ADD aliyun.repo ./ ADD http://192.168.6.100/web/nginx-1.20.2.tar.gz /usr/local/src RUN yum clean all yum makecache yum install -y gcc zlib zlib-devel pcre pcre-devel openssl openssl-devel groupadd -g 88 nginx useradd -g nginx -M -s /sbin/nologin -u 88 nginx cd /usr/local/src tar xf nginx-1.20.2.tar.gz cd nginx-1.20.2 ./configure --usernginx --groupnginx --prefix/usr/local/nginx --with-http_stub_status_module --with-http_sub_module --with-http_ssl_module --with-pcre make make install ADD fruit-game.tar.gz /usr/local/nginx/html/ WORKDIR /usr/local/nginx/html EXPOSE 80/tcp CMD [/usr/local/nginx/sbin/nginx,-g,daemon off;] ### 执行构建 [rootdocker-31 /data/docker/centos-nginx]# docker build -t centos-nginx-game:v1 /data/docker/centos-nginx ### 查看镜像 [rootdocker-31 /data/docker/centos-nginx]# docker images ### 运行容器 docker run -d --name nginx-game-1 -p 88:80 centos-nginx-game:v1 ### windows测试 http://192.168.10.31:88 ### 登录容器查看 [rootdocker-31 /data/docker/centos-nginx]# docker exec -it nginx-game-1 /bin/bash3. Docker命令小结docker -v docker --help docker version docker info docker ps docker ps -a docker images docker search docker pull docker save -o docker load docker rmi docker rm -f docker attach 返回主程序1号 docker exec 在主程序上运行新的程序 非 1号 docker inspect 查看 容器/镜像 明细 ctrl p q docker run -it --name -p -d docker start 启动一个挂掉的容器4. Docker-composeDocker的服务编排工具主要用来构建基于 Docker 的复杂应用通过 YAML 文件声明式# 安装docker-composecurl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose# 授权chmod x /usr/local/bin/docker-compose# 运行docker-composedocker-compose up# 后台运行docker-composedocker-compose up -d