百度百科:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
docker官网:http://www.docker.com
Build,Ship and Run Any App,Anywhere,在任何地方构建、 发布并运行任何应用程序(一次封装,到处运行)
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
注意第一次安装可能会出现错误,重新执行一下安装的命令就好了
systemctl start docker # 启动docker
systemctl enable docker # 设置开机自启动
systemctl stop docker
yum remove -y docker-ce
rm -rf /var/lib/docker
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://ny5dsu6o.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
docker create 镜像名称
# 根据镜像名创建一个容器
docker create --name tomcat1 镜像名称
# 根据镜像创建名为 tomcat1 的容器
docker create 镜像 id
# 根据镜像 id 新建一个容器
docker kill 容器名|容器ID
根据容器名强制停止一个容器
docker rm 容器名称
#删除未启动的容器
docker rm -f 容器名称
#强制删除已启动的容器
docker rm -f $(docker ps -qa)
#删除所有容器,包括正在运行的容器
我就不演示了
docker ps -a -q | xargs docker rm
#删除所有容器,不包括正在运行的容器
我就不演示了
ctrl + p + q
# 不停止退出容器
推荐直接使用:docker run -itd --name qiu 镜像名|镜像ID
将宿主机根目录中的 qiu 挂载到容器根目录中的 qiu
docker run -itd -v /qiu:/qiu --name myMysql mysql
-v:挂载数据卷格式: /宿主机目录(文件):/容器内目录(文件) 目录必须是绝对路径 如果目录不存在, 则自动创建 可以挂载多个数据卷
首先进入容器,在容器的数据卷挂载目录中创建文件并写入内容
然后退出容器,查看宿主机挂载目录,可以看到同步更新的文件
首先停止容器
然后在宿主机修改共享数据 接下来启动前面的容器,
查看共享数据文件,发现数据在容器中同步
首先删除容器
然后在宿主机修改共享数据
接着重新创建容器并挂载数据卷
发现数据在容器中恢复
docker run -it -v /dataVolumeHost31:/dataVolumeContainer31 -v /dataVolumeHost32:/dataVolumeContainer32 --name centos3 centos:7
docker run -it -v /dataVolumeHost:/dataVolumeContainer4 --name centos4 centos:7
docker run -it -v /dataVolumeHost:/dataVolumeContainer5 --name centos5 centos:7
创建并运行tomcat容器
docker run -d -p 8080:8080 -v /docker/tomcat/webapps:/usr/local/tomcat/webapps -v /docker/tomcat/logs:/usr/local/tomcat/logs --name qiu_tomcat tomcat:8.5
准备一个index.html页面,使用 ftp 工具上到 /docker/tomcat/webapps/qbb 中
浏览器访问一下:http://192.168.137.72:8080/qbb/
也可以查看一下tomcat的日志:
docker logs -tf --tail 20 atguigu_tomcat
docker run -d -p 3306:3306 -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/logs:/logs -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name atguigu_mysql mysql:5.7
docker commit 容器名 镜像名称:版本号
docker save -o 压缩文件名称 镜像名称:版本号
docker cp /docker/tomcat/webapps/qbb qiu_tomcat:/usr/local/tomcat/webapps/ROOT
docker commit -a "qiuqiu<startqbb@163.com>" -m "create image from container" qiu_tomcat qbb/mytomcat:1.0
docker save -o /opt/docker/qbb_mytomcat_v1.0 qbb/mytomcat:1.0
docker rm -f qiu_tomcat
docker rmi 9ddc19a406d0
docker load -i /opt/docker/qbb_mytomcat_v1.0
docker run -d -p 8080:8080 --name mytomcat qbb/mytomcat:1.0
原文链接:https://www.cnblogs.com/piaobodeyun0000/p/16185474.html