docker基础

一、docker安装

docker安装(Linux)
卸载之前的docker清理环境
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine

查看linux信息(确认是否是centos)
lsb_release -a

1、yum包更新到最新
sudo yum update

一、手动安装
1、安装需要的软件包yum-util 提供yum-config-mamager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils

2、设置yum源为阿里云(速度更快)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装docker(docker-ce社区版免费)
yum -y install docker-ce docker-ce-cli containerd.io

4、安装后查看docker版本
docker -v

5、设置ustc镜像站点(指定注册中心地址)
安装完之后这个文件是空的
vim /etc/docker/daemon.json
{
“registry-mirrors”:[“https://docker.mirrors.ustc.edu.cn”]
}

二、脚本安装
1、安装发布版本
curl -fsSL https://get.docker.com -o get-docker.sh -o test-docker.sh
sh get-docker.sh
1.docker命令

1.systemctl status docker
# 查看docker服务状态

2.systemctl start docker
# 开启docker

3.systemctl restart docker
# 重启docker

4.systemctl stop docker
# 停止docker

5.systemctl enable docker.service
# 启动docker.service服务端

6.systemctl enable docker
# 设置开启自动启动

二.镜像命令

1.docker images
# 查看镜像

2.docker pull 镜像名称:版本号(如果不写,默认是latest)
# 拉取镜像

3.sudo docker search 镜像名称
# 在dockerhub中搜索镜像,如果不加sudo,可能权限不足
或者我们将用户添加到docker用户组中
sudo gpasswd -a $USER docker # 将登录用户添加到docker用户组中
newgrp docker # 更新用户组

4.docker pull python:3-alpine
# 拉取python的镜像

5.docker pull jenkins/jenkins:alpine
# 拉取jenkins的镜像

6.docker rmi 镜像名称:版本号/image Id
# 删除镜像

7.docker tag 原镜像名 新镜像名
# 修改镜像名称,会生成一个新的镜像,不会修改原镜像

三.容器命令

1.创建容器
交互式容器(一次性使用)

docker run -it --name py46 jenkins/jenkins:alpine ls -l 
docker run -it --name 容器名称:版本号  镜像名称(基于哪个镜像创建的) 命令(登录容器后执行,可写可不写)

特点:

  • 命令行退出,容器就会停止掉
  • 容器名称不能重复

守护式容器(后台长期运行)

docker run -dit -p 5555:8080 --name wjj-jenkins jenkins/jenkins:alpine 

特点:

  • 创建完之后容器在后台运行
  • 容器名称不能重复

2.删除容器

docker rm container_ID 
# 通过容器id删除

3.查看容器

docker ps -a
# 查看运行中的容器

4.查看容器日志

docker logs 容器名称
docker logs wjj-jenkins
# 可以通过这个命令直接查看jenkins的本地密码,来初始化jenkins

5.登录容器

docker exec -it wjj_jenkins /bin/sh
# 通过此命令进入容器,exit退出

6.bash/sh

  1.有些镜像在打包的时候,在/bin/bash,而有些在sh,bash不行,换sh

7.开启已创建的容器

docker start container ID
通过容器id启动容器

8.查看容器端口

docker port wjj_jenkins

9.停止容器

docker stop wjj_jenkins
docker kill wjj_jenkins(容器名称/ID)

10查看所有容器的id

docker ps -a -q

11.批量删除所有容器

docker rm -f $(docker ps -a -q)
# 将查询到的所有容器的变量作为变量

12、文件拷贝

1.将宿主机的文件拷贝到容器

docker cp file 容器名称:容器目录

2.将容器的文件拷贝到宿主机

docker cp  容器名称:容器目录文件 宿主机目录

13、数据卷

docker run -dit -v 宿主机目录:容器目录 --name 容器名称 镜像名称
docker run -dit -v /mnt:/mnt --name wjj_python3 python:3-alpine
# 创建容器时将宿主机的根目录下面的mnt目录与容器的根目录下面的mnt目录映射起来,一方做修改,另一方也会变化 

实际使用:
将项目代码放在目录中,然后通过命令启动

docker run -it -v /mnt:/mnt --name wjj_python3 python:3-alpine python3 /mnt/test.py

容器的目录如果不存在会自动创建

四、Dockerfile

Dcokerfile 是用来构建镜像的,公共仓库的镜像是没有安装我们运行项目所需的插件的,以Python为例,需要安装unittest,pymysql等依赖包,所以需要我们自己通过Dockerfile来构建适合我们的镜像

在这里插入图片描述

#这个Dockerfile作用是打一个python3项目环境
FROM python:3-alpine
WORKDIR /app
ADD . /app
RUN pip3 install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/
CMD ["python3", "main.py"]

一、Dockerfile语法规则

1.文件名必须为Dockerfile

2.文件的非注释的第一行必须是FROM

3.一个Dockerfile只做一件事,即构建一个镜像

4.RUN命令越少越好,命令会生成镜像层,多了运行性能降低

5.关键字指令大小写不敏感,但一般关键字为大写

二、构建镜像

1、创建工作目录
在宿主机根目录下创建app目录

mkdir app

在这里插入图片描述

2、创建依赖包文件:requirements.txt

  1. 先查看需要安装的依赖包和版本,生成requirements.txt文件
pip list
# 查看已安装依赖包
pip freeze > requirements.txt
# 在当前目录下将依赖包信息导出到requirements.txt中

2.到创建的APP目录中生成requirements.txt文件,并将导出的requirements.txt中的信息复制到新生成的requirements.txt文件

cd app
# 进入根目录下刚刚创建的app目录
vi requirements.txt
# 将导出的requirements.txt中的信息复制到新生成的requirements.txt文件

unittestreport==1.3.2
openpyxl==3.0.7
ddt==1.4.2
pytest==6.2.2
selenium==3.141.0
pymysql==1.0.2
faker==8.1.0
jsonpath==0.82
BeautifulReport==0.1.3
rsa==4.7.2
pytest-html==3.1.1
allure-pytest==2.9.43
requests-toolbelt==0.9.1

3、创建Dockerfile

vi Dockerfile
# 在APP目录下创建Dockerfile,写入命令
FROM python:3-alpine
WORKDIR /app
ADD . /app
RUN pip3 install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/
CMD ["python3", "main.py"]

4、构建镜像

docker build -t=镜像名称:版本号 Dockerfile所在目录的绝对路径
# 一般直接在Dockerfile目录中执行命令,所以命令为
docker build -t=wjj-python3:v1.0 .
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值