参考 https://imroc.io/tags/docker%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8/
Ubuntu安装docker
- su //docker很多操作都需要root权限
- apt-get update
- apt-get -y install apt-transport-https ca-certificates curl software-properties-common
//安装GPG证书 - curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
//写入软件源信息 - add-apt-repository “deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable”
- apt-get -y update // -y 跳过系统提示,并同意,=yes
//安装 Docker-CE - apt-get -y install docker-ce
配置镜像加速器
- 登录 https://cr.console.aliyun.com/#/accelerator
- 点击“镜像加速器”菜单,右侧选择Ubuntu选项卡
- 执行修改/etc/docker/daemon.json的命令,例如
<!-- 可以直接粘贴执行 -->
sudo mkdir -p /etc/docker
<!-- <<:标准输入,两个EOF之间的为输入内容 tee/cat -->
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://9opn19xx.mirror.aliyuncs.com"]
}
EOF
<!-- systemctl 类似service命令 -->
sudo systemctl daemon-reload
sudo systemctl restart docker
docker 命令初探
- docker –help
- docker run –help
- -i, –interactive //交互模式
- -t, –tty //终端
- -d, –detach //Run container in background and print container ID
- docker pull openjdk //拉取镜像
//启动容器(镜像的一个实例) - docker run -it openjdk /bin/bash
//查看docker 进程 - docker ps
//stop容器 - docker stop DOCKER_ID
把jar包部署到docker
- docker images //查看镜像
//映射端口 -p8081:8080 //宿主机端口:docker端口 - docker run -dt -p8081:8080 openjdk /bin/bash
//拷贝jar/war等。from 宿主机 to docker容器 - docker cp trSpringBoot-0.0.1-SNAPSHOT.jar 679a27decda8:/run/
//进入docker - docker exec -it DOCKER_ID /bin/bash
// 启动jar - java -jar trSpringBoot-0.0.1-SNAPSHOT.jar
//查看docker ip, 需要更新安装net-tools - apt-get update
apt-get install net-tools
测试
docker与宿主机的关系
- 宿主机netstat 有8081,没有8080
- docker netstat 有8080,没有8081
- 可以在宿主机kill 掉docker容器运行的进程
制作镜像
- docker commit 679a27decda8 timeriver // DOCKERID, images name
- docker images
- docker save -o timeriver.tar timeriver //保存为镜像tar文件。
- docker load -i timeriver.tar //加载镜像tar文件
- docker images //多出一个timeriver的镜像
//使用自定义的镜像,启动容器 - docker run -dt -p8082:8080 timeriver /bin/bash
//进入新的docker容器 - docker exec -it 79628939f07c /bin/bash //已经安装了net-tools和trSpringBoot-0.0.1-SNAPSHOT.jar
- 启动jar,并在浏览器测试