docker基础

一.docker安装

# 1.下载官方源
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
# 2.将官方源替换成清华源
sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# 3.安装docker
yum -y install docker-ce docker-ce-cli containerd.io
# 4.查看docker详细信息
docker info

报错

failure: repodata/repomd.xml from docker-ce-stable: [Errno 256] No more mirrors to try.
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/7/x86_64/stable/repodata/repomd.xml: [Errno 14] curl#60 - "The certificate issuer's certificate has expired.  Check your system date and time."

修改配置文件/etc/yum.conf,在其中加入sslverify=0即可

镜像加速

二.镜像操作

#查看镜像
docker images

# 查找镜像
docker search nginx

# 拉取镜像
docker pull <镜像仓库名称>:<镜像的tag标签>
docker pull mysql:5.7

# 删除镜像
docker rmi nginx:latest
docker rmi c059bfaa849c

#导出镜像
docker save alpine:latest -o /tmp/alpine_latest.tar.gz
docker save alpine:latest > /tmp/alpine_latest1.tar.gz
docker save c059bfaa849c >/tmp/al.tar.gz

#导入镜像
docker load -i /root/alpine_latest.tar.gz
docker load < /root/alpine_latest.tar.gz

#镜像改名
docker tag nginx:latest nginx:v1
docker tag c059bfaa849c alpine:latest

三.容器操作

选项 作用
-i 交互式
-t 提供一个终端
-d 放在后台运行
-p 端口映射
-P 随机端口映射
-v 目录映射(挂载卷)
--name 指定容器名
--rm 容器停止自动删除
-e 指定环境变量
--link 指定容器名字,与其他容器进行通信
# 查看正在运行的容器
docker ps

# 查看所有容器,包括退出的容器
docker ps -a

#查看正在运行的容器id
docker ps -q

# 启动容器(创建一个新的容器并启动)
docker run centos:7
#-it启动时提供交互式终端
docker run -it centos:7 /bin/bash

#启动一个容器,并指定名字
docker run --name web01 -d nginx:latest

原则:
1)一个容器尽量只做一件事
2)容器启动时,必须保证,容器内PID为1的进程可以将容器卡在前台
3)想要修改容器运行时的PID为1的进程,直接在启动容器时,最后加上命令即可

# 创建容器
docker create nginx:latest
# 运行一个容器(启动一个已存在但停止的容器)
docker start 93e7ee68c272

# 停止一个容器
docker stop 4341a094cbae
docker stop agitated_meninsky

# 必须先停容器再删除
docker rm f17f0cde2cb7

# 强制删除
docker rm -f f17f0cde2cb7

# 删除所有容器
docker rm -f $(docker ps -aq)

#连接容器
docker exec -it ccf55c399ac9 /bin/bash

#将文件拷贝到容器里面
docker cp 1.json 81635ad3d3eb:/
# 将文件文件从容器里拷贝出来
docker cp 81635ad3d3eb:/etc/hosts /opt/

# docker查看详细信息
docker inspect nginx:latest
docker inspect ee8488a009de

#查看容器日志信息
docker logs bc146805469f

#容器单向通信
#当使用link时,该容器启动后,会自动在/etc/hosts文件中,做域名解析
docker run --link container-name -it busybox /bin/sh

docker映射

#端口映射
docker run -p
-p 物理机上要开的端口:容器内部应用的端口
-p 物理机网卡IP:物理机上要开的端口:容器内部应用的端口
-p 物理机网卡IP::容器内部应用的端口
-p 81-85:81-85

docker run -p 物理机上要开的端口:容器内部应用的端口 -d nginx:latest

#目录映射,-v 宿主机目录:容器目录
docker run -p 80:80 -v /root/h5_games/:/usr/share/nginx/html/ -d nginx:latest

手动构建docker镜像

#1.启动基础镜像
docker run -it centos:7 /bin/bash

#2.操作完成后打包镜像
docker commit c069b9dc6e98 nginx_h5:v1

#3.启动镜像
docker run -p 80:80 -d nginx_h5:v1 /sbin/nginx -g "daemon off;"
暂无评论

发送评论 编辑评论


				
上一篇
下一篇