1.安装
1.首先要有个linux服务器
2.xshell软件,这样可以访问linux服务
#1.查看服务器版本
uname -v
SMP Tue Jun 18 16:35:19 UTC 2019
uname -r
3.10.0-957.21.3.el7.x86_64
cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
# 这里会显示你是centos 7
3.如果你有旧版本记得先卸载,如果你是新的服务器,直接装docker
yum remove docker
4.需要安装的安装包
yum install -y yum-utils
5.设置镜像仓库
设置阿里云仓库,下载镜像比较快
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6.更新软件包索引,
yum makecache fast
7.安装docker docker-ce 社区 :docker-ee 企业版
yum install docker-ce docker-ce-cli containerd.io
8.启动docker
systemctl start docker
重启docker服务:
systemctl restart docker
9.查看版本信息
docker version
# 或者
docker info
10.验证hello-world
docker run hello-world
# 首先没找到,会去library下找到并下载,下载完后run
11.查看image 镜像,镜像run之后就是容器,容器启动就等于服务启动,就可以访问服务了
docker images
2.常用命令
1.镜像常用命令,
想知道docker上有哪些镜像,可以去官网查看,地址:Docker Hub
docker images # -- 查看所有镜像
docker search mysql # 搜索mysql
docker pull mysql # --下载mysql,默认最新版本,分层下载
# -- docker.io 真实地址
docker pull mysql:5.7 # --下载指定版本,分层下载复用,已经下载了,不在下载了。
# 删除 镜像 镜像id
docker rmi -f 镜像id
# 删除全部镜像
docker rmi -f $(docker images -aq)
2.容器命令
# 有了镜像才可以创建容器
# --name="Name" 容器名字,
# -d 后台方式
# -it 使用交互方式,进入容器查看内容
# -p 8080:8080 指定主机端口:容器端口
docker run
# 启动mysql,后台运行,交互方式,端口号,-v文件映射
docker run -itd --name mysql -p 3306:3306 -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 镜像id
#启动之后,会进入一个容器内部
ls
exit # -- 容器停止,退出
ctrl + P + Q # --容器不停止,退出
# 查看所有正在运行的容器
docker ps -- 当前运行的容器
docker ps -a
# 删除容器,可以强制删除所有容器id
docker rm -f 容器id
# 启动和停止容器
docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id
3.日志相关
# 查看日志
docker logs -f -t --tail 容器id
# 持续跟踪
docker logs -f 容器id
# 查看容器最近10条记录
docker logs -f --tail=10 容器id
# 查看容器中的进程
docker top 容器id -- uid,当前用户,pid,父id,ppid,当前进程id
# 查看容器元数据内容
docker inspect 容器id
# 进入当前正在运行的容器
docker exec -it 容器id bash
4.经常使用到命令
#docker中容器打成镜像,镜像打成tar包
#到另一个服务器,运行tar包,
# docker commit 容器id 镜像名:版本号
docker commit ead70530133c nexus3:3.40.1
# 镜像打包成tar
# docker save -o xx.tar 镜像名:版本号
docker save -o nexus3.tar nexus3:3.40.1
# docker导入镜像
docker load -i xx.tar
# 修改镜像的name和tag
docker tag 容器id 新name:新版本
docker tag 123 mysql:8.0
# 然后启动容器就行
#------------
将容器的123.cnf复制到linux中的/data/123.cnf
docker cp /data/123.cnf 镜像id:/var/data/123.cnf
# 进入容器后台
docker exec -it 容器id bash
或者
docker exec -it 容器id sh
#------------