一、doucker环境的搭建
第一种方式:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
第二种方式:
- 由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
- 更新apt包索引:
sudo apt-get update
- 安装以下包以使apt可以通过HTTPS使用存储库(repository):
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
- 添加Docker官方的GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 使用下面的命令来设置stable存储库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu (lsb_release -cs) stable"
- 再更新一下apt包索引:
sudo apt-get update
- 安装最新版本的Docker CE:
sudo apt-get install -y docker-ce
验证docker是否搭建成功
- 查看docker服务是否启动:
systemctl status docker
- 若未启动,则启动docker服务:
sudo systemctl start docker
- 经典的hello world:
sudo docker run hello-world
有以上输出,表示docker安装成功.
二、执行器环境搭建
也就是构建镜像的过程
第一种方式
- 加载镜像
docker load < image001.tar.gz
- 查看镜像列表,查看id
docker images
- 运行镜像
docker run -d --net host --restart always --name image001 [镜像id]
第二种方式
- 创建Dockerfile
网上教程较多,可以参考【在这里】 - 将Dockerfile以及必要文件放在同一个目录中
- 创建镜像
nohup docker build -t image001 . 1>info.log 2>error.log &`
表示标准输出重定向在info.log,错误信息输出在error.log
- 查看镜像构建日志
tail -f info.log
- 查看镜像列表以及镜像id
docker images
- 运行镜像
docker run -d --net host --restart always --name image001 [镜像id]
三、其他常用命令
- 删除镜像
#单个镜像删除,相当于:docker rmi java:latest
docker rmi java
#强制删除(删除正在运行的镜像,注:以后台方式运行的不能被强制删除)
docker rmi -f java
#多个镜像删除,不同镜像间以空格间隔
docker rmi -f java tomcat nginx
#删除本地全部镜像
docker rmi -f $(docker images -q)
- 打包镜像
docker save image001(或者镜像id) -o image001.tar
- 查看当前运行的容器
docker ps -a
- 停止运行容器
docker stop image001
或者
docker stop 容器id
- 开始运行容器
docker start image001
或者
docker start 容器id
- 重启容器
docker restart image001
或者
docker restart 容器id
- 进入容器运行环境(进入容器命令行)
1. 进入当前正在运行的容器
docker exec -it 容器名称 bash
或者
docker attach 容器id bashShell(/bin/bash)
2. 使用run方式在创建时进入容器(创建时进入容器)
docker run -it centos /bin/bash
- 退出容器运行环境
exit
- 查看容器进程
# top支持 ps 命令参数,格式:docker top [OPTIONS] CONTAINER [ps OPTIONS]
# 列出image001容器中运行进程
docker top image001
# 查看所有运行容器的进程信息
for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done
- 从容器内拷贝文件到主机
docker cp 容器id:容器内路径 目的主机路径