update docker.md

This commit is contained in:
zhh 2018-11-23 14:35:03 +08:00
parent 7ff059f82f
commit 39121e4259

View File

@ -1,73 +1,73 @@
#Docker笔记 # Docker笔记
##Docker 镜像常用命令 ## Docker 镜像常用命令
###搜索镜像 ### 搜索镜像
docker search java docker search java
###下载镜像 ###下载镜像
docker pull java:8 docker pull java:8
docker pull macro/eureka-server:0.0.1 docker pull macro/eureka-server:0.0.1
###列出镜像 ### 列出镜像
docker images docker images
###删除镜像 ### 删除镜像
docker rmi java docker rmi java
docker rmi -f java docker rmi -f java
docker rmi -f $(docker images) docker rmi -f $(docker images)
##Docker 容器常用命令 ## Docker 容器常用命令
###新建并启动容器 ### 新建并启动容器
docker run -d -p 91:80 nginx docker run -d -p 91:80 nginx
###列出容器 ### 列出容器
docker ps docker ps
###停止容器 ### 停止容器
docker stop $ContainerId docker stop $ContainerId
###强制停止容器 ### 强制停止容器
docker kill $ContainerId docker kill $ContainerId
###启动已停止的容器 ### 启动已停止的容器
docker start $ContainerId docker start $ContainerId
###进入容器 ### 进入容器
docker inspect --format "{{.State.Pid}}" $ContainerId docker inspect --format "{{.State.Pid}}" $ContainerId
nsenter --target "$pid" --mount --uts --ipc --net --pid nsenter --target "$pid" --mount --uts --ipc --net --pid
###删除容器 ### 删除容器
docker rm $ContainerId docker rm $ContainerId
docker rm -f $(docker ps -a -q) docker rm -f $(docker ps -a -q)
##Docker Registry ## Docker Registry
###Docker Registry 2.0搭建 ### Docker Registry 2.0搭建
docker run -d -p 5000:5000 --restart=always --name registry2 registry:2 docker run -d -p 5000:5000 --restart=always --name registry2 registry:2
###推送到私有仓库 ### 推送到私有仓库
docker push localhost:5000/macro/eureka-server:0.0.1 docker push localhost:5000/macro/eureka-server:0.0.1
###修改镜像标签 ### 修改镜像标签
docker tag macro/eureka-server:0.0.1 localhost:5000/macro/eureka-server:0.0.1 docker tag macro/eureka-server:0.0.1 localhost:5000/macro/eureka-server:0.0.1
##使用maven构建Docker镜像 ## 使用maven构建Docker镜像
###构建镜像 ### 构建镜像
- commandmvn clean package docker:build - commandmvn clean package docker:build
- tip - tip
Linux服务器需要开启远程api:vi /usr/lib/systemd/system/docker.service Linux服务器需要开启远程api:vi /usr/lib/systemd/system/docker.service
修改为ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 修改为ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
###推送镜像到私有仓库 ### 推送镜像到私有仓库
- commandmvn clean package docker:build -DpushImage - commandmvn clean package docker:build -DpushImage
- tip - tip
pom.xml修改<imageName>192.168.1.71:5000/macro/${project.artifactId}:${project.version}</imageName> pom.xml修改<imageName>192.168.1.71:5000/macro/${project.artifactId}:${project.version}</imageName>
- tip - tip
docker要支持http:echo '{ "insecure-registries":["192.168.1.71:5000"] }' > /etc/docker/daemon.json docker要支持http:echo '{ "insecure-registries":["192.168.1.71:5000"] }' > /etc/docker/daemon.json
###修改Docker镜像存放位置 ### 修改Docker镜像存放位置
1. 查看Docker的存放位置docker info | grep "Docker Root Dir"(默认为/var/lib/docker 1. 查看Docker的存放位置docker info | grep "Docker Root Dir"(默认为/var/lib/docker
2. 关闭Docker服务systemctl stop docker 2. 关闭Docker服务systemctl stop docker
3. 移动目录到目标路径mv /var/lib/docker /root/data/docker 3. 移动目录到目标路径mv /var/lib/docker /root/data/docker
4. 建立软连接ln -s /root/data/docker /var/lib/docker 4. 建立软连接ln -s /root/data/docker /var/lib/docker
##Docker compose ## Docker compose
###安装 ### 安装
1. 下载地址https://github.com/docker/compose/releases 1. 下载地址https://github.com/docker/compose/releases
2. 安装地址:/usr/local/bin/docker-compose 2. 安装地址:/usr/local/bin/docker-compose
3. 设置为可执行sudo chmod +x /usr/local/bin/docker-compose 3. 设置为可执行sudo chmod +x /usr/local/bin/docker-compose
4. 测试是否安装成功docker-compose --version 4. 测试是否安装成功docker-compose --version
###安装命令补全工具 ### 安装命令补全工具
sudo curl -L https://raw.githubusercontent.com/docker/compose/1.22.0/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose sudo curl -L https://raw.githubusercontent.com/docker/compose/1.22.0/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
###常用命令 ### 常用命令
- 构建、创建、启动相关容器docker-compose up - 构建、创建、启动相关容器docker-compose up
- 列出所有容器docker-compose ps - 列出所有容器docker-compose ps
- 删除指定服务的容器docker-compose rm eureka - 删除指定服务的容器docker-compose rm eureka
@ -75,13 +75,13 @@ sudo curl -L https://raw.githubusercontent.com/docker/compose/1.22.0/contrib/com
- 停止相关容器docker-compose stop eureka - 停止相关容器docker-compose stop eureka
- 启动相关容器docker-compose start eureka - 启动相关容器docker-compose start eureka
###编排SpringCloud微服务 ### 编排SpringCloud微服务
####所使用到的工程 #### 所使用到的工程
- eureka-server - eureka-server
- hello-service - hello-service
- feign-consumer - feign-consumer
- api-gateway - api-gateway
####编排模式 #### 编排模式
1. 编排SpringCloud微服务见eureka-server/docker-res/docker-compose.yml 1. 编排SpringCloud微服务见eureka-server/docker-res/docker-compose.yml
2. 简化SpringCloud微服务编排见eureka-server/docker-res/docker-compose-simple.yml 2. 简化SpringCloud微服务编排见eureka-server/docker-res/docker-compose-simple.yml
3. 编排高可用的注册中心见eureka-server/docker-res/docker-compose-eureka.yml 3. 编排高可用的注册中心见eureka-server/docker-res/docker-compose-eureka.yml