c7 docker 安装

删除旧 docker 以及 依赖包

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine docker-ce

安装gcc环境

yum -y install gcc

yum -y install gcc-c++

安装yum工具

yum install -y yum-utils device-mapper-persistent-data lvm2 –skip-broken

设置stable镜像仓库

yum-config-manager –add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sed -i ‘s/download.docker.com/mirrors.aliyun.com/docker-ce/g’ /etc/yum.repos.d/docker-ce.repo

更新yum包软件索引

yum makecache fast

安装docker-ce

yum -y install docker-ce docker-ce-cli containerd.io

配置阿里云镜像加速

mkdir -p /etc/docker/

tee /etc/docker/daemon.json <<-‘EOF’

{“registry-mirrors”: [“https://qlmy5iw9.mirror.aliyuncs.com”]

}

EOF

systemctl daemon-reload

systemctl restart docker

启动docker服务

systemctl start docker

查看docker版本

docker version

测试启动一个容器

本地不存在是会从远程仓库中下载,根据配置的镜像下载

docker run hello-world

该阿里云镜像输出:hello from Docker!

docker服务相关命令

systemctl start docker // 启动服务

systemctl status docker // 查看服务状态

systemctl restart docker // 重启

systemctl stop docker // 停止

systemctl restart docker // 重启

systemctl enable docker // 设置docker开机自启动

systemctl disable docker // 关闭docker开机自启动

systemctl daemon-reload // 重载系统服务

systemctl list-unit-files –type service // 查看全部服务命令

docker相关命令

环境信息

docker version 版本信息

docker info 详细信息

容器生命周期

docker run name[:tag] 创建并运行容器【–rm 删除原容器,-d后台运行】

docker images 拉取的镜像

docker create–help 查看创建容器帮助

docker create -it –name nginx nginx:1.14 创建容器

docker ps -a 查看所有容器,没有 -a参数查看运行中容器

docker start nginx 启动容器

docker stop id 根据容器启动id停止容器,支持最左匹配,例如:a213,只需:a

docker kill id 强制停止容器

docker pause id 停止容器进程,但容器主进程还在

docker unpause id 恢复被pause的容器进程

容器运维

docker inspect id 查看容器详细信息

docker exec -it id bash 根据容器id进入容器内部命令

docker top id 查看容器进程

docker stats id 查看容器使用资源情况

docker rename id name 根据容器id修改容器名称

容器rootfs

docker cp filename id:/ 复制文件到容器内:文件名称 容器id:容器目录

docker diff id 容器修改比较

docker commit -m “test” id [nginx-test:1.14] 根据容器id提交容器到镜像仓库:[镜像名称:标签]

docker rm id 删除容器images

docker image prune 批量删除名称为null的容器

docker container prune 批量删除不在运行中的容器

镜像仓库

docker login xxx.com 登录到镜像仓库

docker search name 查看仓库镜像

docker tag name:tag xxx.com/name:tag 把某个镜像打包到镜像仓库

docker push id 推送打包的镜像到镜像中心

docker pull name[:tag] 拉取镜像中心的镜像到本地

本地镜像管理

docker build -t name:tag ./ 创建镜像: 名称:标签 目录

docker images 查看本地镜像

docker rmi id 删除镜像

docker save name:tag -o test.tar 把镜像保存为tar包

docker load < test.tar 加载镜像包

容器资源

docker volume -h 查看网络命令帮助

docker network -h 查看网络命令帮助

系统日志

docker logs -f id 查看镜像日志

docker events –since=”xxx” 查看docker做了哪些操作

docker history name:tag

docker file 编写

mkdir imooc-dockerfile-std

vim DockerFile 如果文件名不同需指定文件名路径

文件内容:

from nginx:1.14 #基础镜像

maintainer 123456@qq.com #dockerfile维护者

label imooc #注释

arg port 80 #构建时环境变量端口

env poet 80 #运行时环境变量端口

copy test.txt / #拷贝

add test.tar / #拷贝并解压

workdir / #指定工作目录

run ls #在构建的时候执行的命令

cmd [“bash”,”-c”, “echo 111”] #容器启动时执行的命令,后面的cmd会把前面的cmd覆盖,只有一个cmd能运行

entrypoint [“bash”,”-c”,”echo 222″] #容器启动时执行的命令 不会被覆盖

# cmd 的值作为 entrypoint 的参数

cmd [“111”]

entrypoint [“echo”] #最终为echo 111

expose ${port} #暴露端口 用处: 1、开放人员方便查看 2、-P动态映射端口

volume [“/data”] #卷挂载

run yum -y install curl # 安装curl库

healthcheck –interval=5s –timeout=3s cmd curl -fs http:localhost/ || exit 1 #健康检查

docker compose

yum -y install docker-compose 安装docker-compose

常用命令 【需在对应项目下执行】

docker-compose -h 查看帮助命令

docker-compose build 构建镜像

docker-compose up -d 后台运行

docker-compose ps 查看端口

docker-compose down 停止镜像

docker-compose restart 重启

docker-compose stop 停止

docker-compose start 启动

vim docker-compose.yaml 创建yaml文件

yaml文件内容:

version:”3″

services:

nginx1:

image:nginx:1.14

container_name:nginx1

ports:

– 8081:80

nginx2:

depends_on:

– nginx1

build:

context: .

container_name: nginx2

ports:

– 8082:80

vim DockerFile

from nginx:1.14


已发布

分类

来自

标签: