doeker基础安装

191 阅读2分钟

环境 centos7.6

docker解决了运行环境和配置问题的软件容器, 方便做持续集成并有助于整体发布的容器虚拟化技术

镜像文件

  •  image 文件生成的容器实例,本身也是一个文件,称为镜像文件。

容器实例

  •  一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器

仓库

  • 就是放一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候再从仓库中拉下来就可以了。

1. 安装

安装文档地址

1.1 卸载旧版本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

1.2 设置存储库

yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3 安装 Docker 引擎

yum install docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6 docker-compose-plugin
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl start docker
docker version
docker run hello-world

1.4 卸载 Docker 引擎

yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

2. 阿里云镜像

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

3 Docker常用命令

image.png

3.1 帮助启动类命令

· 启动docker: systemctl start docker
· 停止docker: systemctl stop docker
· 重启docker: systemctl restart docker
· 查看docker状态: systemctl status docker
· 开机启动: systemctl enable docker
· 查看docker概要信息: docker info
· 查看docker总体帮助文档: docker --help
· 查看docker命令帮助文档: docker 具体命令 --help

3.2 镜像命令

· docker images 列出本地主机上的镜像 
· docker search 某个XXX镜像名字
· docker pull 某个XXX镜像名字
· docker system df 查看镜像/容器/数据卷所占的空间
· docker rmi 某个XXX镜像名字ID
· docker rmi -f $(docker images -qa) · 删除全部

3.3 容器命令

· docker run [OPTIONS] **IMAGE** [COMMAND] [ARG...]
    --name="容器新名字"       为容器指定一个名称;
    -d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
    -i:以交互模式运行容器,通常与 -t 同时使用;
    -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    也即启动交互式容器(前台有伪终端,等待交互);
    -P: 随机端口映射,大写P
    -p: 指定端口映射,小写p
    
· docker run -it centos /bin/bash    在容器内执行/bin/bash命令
· docker ps [OPTIONS] 
        OPTIONS说明(常用):
        -a :列出当前所有正在运行的容器+历史上运行过的
        -l :显示最近创建的容器。
        -n:显示最近n个创建的容器。
        -q :静默模式,只显示容器编号
· docker rm 容器ID   删除已停止的容器   
· docker rm -f $(docker ps -a -q) 一次性删除多个容器实例
· docker logs 容器ID · 查看容器日志
· docker top 容器ID   查看容器内运行的进程
· docker inspect 容器ID查看容器内部细节
. docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]    docker commit -a "author"  -m "首页变化" 341d81f7504f guignginx:v1.0
. docker cp 5eff66eec7e1:/etc/nginx/nginx.conf  /data/conf/nginx.conf



# 将镜像保存成压缩包
docker save -o abc.tar mynginx:v1.0
# 别的机器加载这个镜像
docker load -i abc.tar


# 把旧镜像的名字,改成仓库要求的新版名字
docker tag mynginx:v1.0 author/mynginx:v1.0
# 登录到docker hub
docker login       
docker logout(推送完成镜像后退出)
# 推送
docker push author/mynginx:v1.0

# 别的机器下载
docker pull author/mynginx:v1.0



4. Docker Compose 安装

sudo curl -L "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

如果不稳定

curl -L https://get.daocloud.io/docker/compose/releases/download/v2.10.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

将可执行权限应用于二进制文件:

sudo chmod +x /usr/local/bin/docker-compose

创建软链:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装成功:

docker-compose --version
cker-compose version 1.24.1, build 4667896b

4.1 常用命令

docker-compose -h                           # 查看帮助
docker-compose up                           # 启动所有docker-compose服务
docker-compose up -d                        # 启动所有docker-compose服务并后台运行
docker-compose -f docker-compose.yml up -d  # 指定yml 启动所有docker-compose服务并后台运行
docker-compose down                         # 停止并删除容器、网络、卷、镜像。
docker-compose exec  yml里面的服务id         # 进入容器实例内部  docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
docker-compose ps                      # 展示当前docker-compose编排过的运行的所有容器
docker-compose top                     # 展示当前docker-compose编排过的容器进程
docker-compose logs  yml里面的服务id     # 查看容器输出日志
docker-compose config     # 检查配置
docker-compose config -q  # 检查配置,有问题才有输出
docker-compose restart   # 重启服务
docker-compose start     # 启动服务
docker-compose stop      # 停止服务

4.2 常用软件yml

常用软件yml

5. Dockerfile

FROM openjdk:8-jdk-slim
LABEL maintainer=author

COPY target/*.jar   /app.jar

ENTRYPOINT ["java","-jar","/app.jar"]
docker build -t java-demo:v1.0 -f Dockerfile .