无需部署环境
劣势:性能稍差
前提是已经安装虚拟机
以上三个文件下载地址
下载docker离线包
下载离线安装工具
systemctl start docker 启动docker服务
systemctl status docker 查看Docker状态
systemctl stop docker 关闭docker服务
systemctl enable docker 设置Docker开机自启
systemctl disable docker 禁用Docker开机自启
systemctl restart docker 重新启动Docker服务
docker info 查看Docker信息
docker info | grep 'Docker Root Dir:' 查看docker info中具体key的信息
ps -ef | grep docker 查看进程
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
],
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"data-root": "/var/lib/docker"
}
EOF
docker pull hello-world 下载镜像
docker images 查看镜像
docker run hello-world 运行镜像
卸载镜像
docker image rm hello-world
显示容器正在使用
此时需要关闭容器
docker container re 52a
删除镜像
docker container rm hello-world
查看所有容器
docker ps -a
下载镜像(pull),如果本地镜像没有,则需要从远程镜像中下载
查看镜像历史
docker history hello-world
导出镜像文件
docker save hello-world | gzip > hello-world.tar.gz
导入镜像操作
docker load < hello-world.tar.gz
导出镜像文件到images目录
此时只能在Linux系统使用,Windows下使用需要Download
创建并启动容器 打开交互模式
docker run -it centos:7 bash
删除容器
docker container rm 802 #802为容器id
强制删除
docker container rm -f 802 #802为容器id
清除所有容器
docker container prune
在容器中管理数据的方式 数据卷(Volumes)、挂载主机目录 (Bind mounts)
命令:
查看数据卷目录 docker volume ls
创建数据卷 docker volume create container-vol
查看数据卷信息 docker volume inspect container-vol
删除数据卷 docker volume rm container-vol
在启动容器时,以目录直接挂载的方式进行数据操作 docker run -it -v container-vol:/cgb2107 centos:7 bash
挂载的目的是删除容器数据不丢,相当于备份,数据卷仍存在
docker run -it -v /app:/container centos:7 bash
vim Dockerfile编辑
FROM centos:7
ADD jdk-8u51-linux-x64.tar.gz /usr/local/docker
ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_51 \
PATH=/usr/local/docker/jdk1.8.0_51/bin:$PATH
CMD ['bash']
docker run -d -p 8180:8080 --name sentinel \
-v /root/servers:/usr/sca \
jdk:8 java -jar /usr/sca/sentinel-dashboard-1.8.1.jar
sentinel运行在基于jdk:8容器的基础上,所以可以放在一起创建镜像
进入容器登录mysql
创建目录和文件
创建redis实例并启动
拖入镜像
导入镜像
创建数据卷
启动nginx服务
访问成功
方案:
第一种:两个容器通过宿主机进行通讯(容器中的端口会映射到宿主机上)
第二种:两个容器之间直接通过虚拟网络进行连接,但是需要我们在docker中创建网络。
创建网络
docker network create t-net
docker run -it --name app1 --network t-net centos:7 启动容器
实现容器互联互联
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_55740233/article/details/121161845
内容来源于网络,如有侵权,请联系作者删除!