问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Docker 安装与使用教程

创作时间:
作者:
@小白创作中心

Docker 安装与使用教程

引用
CSDN
1.
https://m.blog.csdn.net/ckg3824278/article/details/145994443

Docker是一种开源的容器化技术,可以帮助开发者更轻松地构建、部署和运行应用程序。本文将介绍如何在Ubuntu系统上安装Docker,如何构建Docker镜像,以及一些常用的Docker命令。需要注意的是,Docker的版本和相关命令可能会有更新,请根据实际情况进行调整。

一、Ubuntu如何安装docker

  1. 更新apt:

    sudo apt update  
    
  2. 安装依赖包

    sudo apt install apt-transport-https ca-certificates curl software-properties-common  
    
  3. 添加Docker的官方GPG密钥:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -  
    
  4. 添加Docker APT存储库:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"  
    
  5. 再次更新apt软件包索引:

    sudo apt update  
    
  6. 确保从Docker存储库而不是默认存储库中安装:

    apt-cache policy docker-ce  
    
  7. 安装D Docker:

    sudo apt install docker-ce  
    
  8. 验证Docker是否正确安装:

    sudo systemctl status docker  
    

二、构建docker镜像

要构建Docker镜像,需要编辑一个Dockerfile文件,来描述镜像的构建过程。

1、创建Dockerfile文件

新建一个空目录,然后创建一个名为Dockerfile的文本文件,将如下内容拷贝进去:

# 设置继承自哪个镜像
FROM ubuntu:16.04
# 创建者信息
MAINTAINER gui <wx13427279549>
# 设置工作目录
WORKDIR /home/gui
# 在终端需要执行的命令
RUN echo "hello docker"  

2、编译镜像

使用

docker build  

命令在Dockerfile所在的目录中构建镜像:

sudo docker build -t my-ubuntu-gui .  

这将创建一个名为

my-ubuntu-gui  

的新镜像。
-t
标志指定了新镜像的名称。

3、查看镜像列表和镜像ID

sudo docker images  

三、Docker常用命令

1、镜像常用命令

docker search centos #搜索镜像不带版本号默认latest

docker pull centos  #下载镜像

docker images #查看本地镜像

#镜像导出
====== 方法一 ======
docker save nginx -o nginx1.tar

====== 方法二 ======
docker save nginx > nginx2.tar

====== 方法三 ======
docker save nginx | gzip > nginx.tar.gz #导出并压缩到当前目录

#镜像导入

docker load -i centos.tar 

2、容器常用命令

docker logs nginx #查看容器日志

#容器常用选项

-i #打开一个交互接口

-t  #分配一个tty

-d #后台运行容器

--name #容器名称

-P 大 #随机端口 镜像里必须有EXPOSE字段暴露端口

-p 小 #[宿主机端口]:[容器端口]/tcp  指定端口映射

--rm #当容器退出时自动清理容器

-e #容器传递环境变量

-v #给容器创建映射目录,数据卷 
#举例: docker run -v /path/dir1:/dir img:1 

-h  #指定主机名

$(docker ps -aq -f status=exited) #-f 指定参数

--restart  #容器在退出时重启策略

docker stop $(docker ps -qa -f name=test*) #批量停止容器

docker volume ls #查看卷

#常用方法举例
docker run -it --name test -v /data/:/www:ro -v /data/:/web busybox #:ro给挂载目录可读权限

docke exec id bash  #进入容器

ctrl + p + q  #退出容器不注销

docker ps -a  #显示所有容器包括死掉的

docker ps -aq  #显示所有容器并显示id

docker rm -f id  #即使容器正在运行当中,也会被强制删除掉
#举例: docker rm -f 38f6268f754e

docker run -P nginx #大P前台启动并随机映射端口

docker run -p 81:80 --name nginx_test nginx  #指定端口映射

docker port nginx #查看容器已经映射的端口

docker run -it --rm --name nginx-tets1 nginx  #容器退出后自动删除

#容器启动停止
docker stop id
docker start id 

docker stop $(docker ps -ap) #批量关闭正在运行的容器 

docker kill $(docker ps -aq) #批量强制关闭正在运行的容器  
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号