一、docker快捷部署

1.将做好的tar包放入指定目录,并解压

tar -zxvf docker_server_install_all.tar.gz 

2.打开解压的文件夹,执行install.sh,启动成功

cd docker-20.10.8/
sh install.sh

3.设置docker源和ip

二、docker工作常用命令

1.查看镜像

docker images {-a 查看所有,-p 查看本地镜像的image_id}

2.查找镜像

docker search {-f=stars=30 查找点赞大于30的}

3.拉取镜像

docker pull

4.上传本地镜像

docker load -i a.tar.gz

5.拉取到本地镜像

docker save -o a.tar.gz your_images_name

6.导出/导入容器

docker export/import 容器

7.创建数据卷

docker volume create

8.docker 带数据迁移(用于备份回退)

1.docker inspect 容器 --查看挂载对应目录
2.cp导出现有容器 默认/var/lib/docker/*
3.导入

9.删除镜像

docker rmi

10.运行镜像

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

OPTIONS可以包括多种参数,用于配置容器的各种属性
常用的参数: -d:后台运行容器。
			-it:交互式操作,通常与 -d 一起使用。
			--name:为容器指定一个名称。
			-v:挂载主机目录到容器内部的指定路径。
			-p:指定端口映射。
			-e:传递环境变量给容器。
使用 -restart=always 参数可以确保容器在重启Docker时能够自动恢复运行
ej:sudo docker run -d --restart=always --name=ptd-common --network=ptd-net \
-e db-ip=[数据库IP地址] \
        -e db-port=[数据库端口] \
        -e db-name=[数据库名称] \
        -e db-username=[数据库用户名] \
        -e db-password=[数据库密码] \
        -e redis-db=[redis数据库] \
        -e redis-host=[redisIP地址] \
        -e redis-password=[redis密码] \
        -e redis-port=[redis端口号] \
        -e redis-username=[redis用户名] \
 [ptd-common镜像名称]

11.查看容器

docker ps {-l 查看上次运行的容器 -q 正在运行的容器的编号}

12.删除容器

docker rm {-f 删除运行的容器}

13.查看容器日志

docker logs 容器名称 {-t 时间}

14.查看容器信息

docker inspect 容器名称

15.容器和宿主机copy文件

docker cp 容器id:/路径 /root/***
# 本地文件上传到对应容器的目录
docker cp local.sh [CONTAINERid]:[TagPath]

16.镜像分支

docker tag(打个分支,方便还原)

ej: docker tag redis:3.0.1 redis_lsj:3.0.1

17.docker 进入容器

docker exec -it 容器id/名称 /bin/bash

18.制造镜像

docker commit

例子
docker commit -a="lisj" -m="my tomcat" 5f22bc02de8d test/centos:1.1 {-a是指明作者。
-m是添加对新建镜像的描述。}
用容器id,造镜像

19.docker容器持久化文件(最常用部署)

docker run -it -v /myDataVolume:/dataVolumeContainer centos{ -v 创建文件 :ro 只读}

----容器只读:docker run -it -v /myDataVolume:/dataVolumeContainer:ro centos

20.docker自定义网络(防止挂掉重启影响集群)

#创建
docker network create mysql_sum
#分配
docker run mysql --network mysql_sum
#分配指定ip
docker run mysql --network mysql_sum 172.18.1.2
#查看
docker network ls
docker inspect network mysql_sum

三、dockerfile学习(对我不咋常用)

1.dockerfile相关命令

指令描述
FROM# 基础镜像,一切从这里开始构建
MAINTAINER镜像是谁写的,姓名+邮箱
RUN镜像构建的时候需要运行的命令
ADD添加内容: 比如加一个tomcat压缩包
WORKDIR镜像的工作目录
VOLUME镜像挂载的目录
EXPOSE保留暴露的端口
CMD指定这个容器启动的时候要运行的命令,只有最后一个会生效,可以被代替
ENTRYPOINT指定这个容器启动的时候需要运行的命令,可以追加命令
ONBUILD当构建一个被继承DockerFile 的时候就会运行 ONBUILD 的指令。触发指令
COPY类似ADD ,将我们的文件拷贝到镜像中
ENV

构建的时候设置环境变量

2.编制dockerfile

FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,--------------success1"
CMD /bin/bash

3.执行

docker build -f /docker/dockerfile -m centos .

更多推荐