一,安装Docker CE
1 安装Docker的依赖库。
yum install -y yum-utils device-mapper-persistent-data lvm2
2 添加Docker CE的软件源信息。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3 安装Docker CE。
yum makecache fast
yum -y install docker-ce
4 启动Docker服务。
systemctl start docker
5 设置Docker服务开启自启动。
systemctl enable docker
#!/bin/bash
#安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新 yum 缓存
sudo yum makecache fast
sudo yum -y install docker-ce
#启动 Docker 后台服务
sudo systemctl start docker
二,配置阿里云镜像仓库(镜像加速)
Docker的默认官方远程仓库是hub.docker.com,由于网络原因,下载一个Docker官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务ACR提供了官方的镜像站点,从而加速官方镜像的下载。下面介绍如何使用阿里云镜像仓库。
-
前往容器镜像服务控制台。
-
在左侧导航栏,选择镜像中心>镜像加速器,可以看到阿里云为您提供了一个专属的镜像加速地址。
3. 配置Docker的自定义镜像仓库地址。请将下面命令中的镜像仓库地址https://kqh8****.mirror.aliyuncs.com替换为阿里云为您提供的专属镜像加速地址。
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF
4. 重新加载服务配置文件。
systemctl daemon-reload
5. 重启Docker服务。
systemctl restart docker
三,dockor 命令
1.运行容器。
-
docker run --name nginx-test -p 8080:80 -d nginx
命令参数说明:
-
--name nginx-test:容器名称。
-
-p 8080:80: 端口进行映射,将本地8080端口映射到容器内部的80端口。
-
-d nginx: 设置容器在后台一直运行。
2.进入容器内部命令
docker exec -it 363f7c85379c /bin/bash
参数说明 -it:开启交互模式终端
3、重新启动容器,命令如下。
docker restart 363f7c85379c
4、停止容器、命令如下。
docker stop 363f7c85379c
5、启动容器、命令如下。
docker start 363f7c85379c
6、删除容器、命令如下。
docker rm -f 363f7c85379c
参数说明 -f:强制删除
7、删除本地镜像
docker rmi -f xiaotongdemo:v0.1
8,保存当前容器命令
-
命令行docker commit
docker commit container_id image_name
这个命令将当前容器ID为container_id的容器保存为image_name镜像。可以通过docker images
检查是否成功创建了一个新的镜像。但是这种方法创建的镜像会包含当前容器的所有数据,这可能会包含不需要的文件,导致镜像过大。
-
命令行docker export/import
docker export -o image_name.tar container_id docker import image_name.tar new_image_name
这种方法通过先导出容器为tar文件,然后再导入为新的镜像。可以通过这种方式只包含必要的文件,从而得到更小的镜像。但是这种方法会失去原来镜像中的所有历史记录,包括所有的运行命令和修改。
-
命令行docker save/load
docker save -o image_name.tar image_name docker load -i image_name.tar
这种方法可以保存完整的镜像,包括所有历史记录和之前的修改。可以通过这种方式将完整的镜像保存为一个tar文件,在运输时可以更加方便。注意,这种方法并没有保存当前容器的状态,因此在恢复镜像之后,需要重新启动容器。
9,查看容器日志
docker ps -a
docker logs CONTAINER _NAME_OR_ID
四,制作镜像
Dockerfile的使用场景_podman dockerfile_风早君的博客-CSDN博客
1、创建镜像命令
docker build -f ./Dockerfile -t xiaotongdemo:v0.1 .
参数说明
-f:指定DockerFile文件的路径
-t:镜像的名字及标签
DockerFile文件内容如下
#FROM java:8
FROM openjdk:8-jdk-alpine
#ARG 定义专用于build过程中的变量,其值可由命令行选项" --build-arg"进行传递
ARG JAR_FILE
# 复制文件到容器
COPY ${JAR_FILE} app.jar
# 暴露外部端口
EXPOSE 10020
ENTRYPOINT ["java","-jar","/app.jar"]
五, Docker-Compose编排工具。
1 安装Docker-Compose
pip3 install docker-compose
2. 编写docker-compose.yaml文件。
执行以下命令在当前目录新建并编辑yaml文件。
vim docker-compose.yaml
按下i键进入编辑模式,新增以下内容。
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- 80:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: 123456
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress:/var/www/html
db:
image: mysql:5.7
restart: always
ports:
- 3306:3306
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: 123456
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
按下Esc键退出编辑模式,然后输入:wq敲击回车键保存并退出。
3. 执行编排脚本。
docker-compose up -d