Docker 学习

1).docker images 查看所有本地image
2).docker ps 查看运行的container , docker ps -a 查看历史运行记录
3).docker run -p 8080:80 -d nginx 运行一个容器(本地没有会从远端仓库pull,-p docker80端口映射到服务器8080,-d 作为守护进程启动)
4).docker exec -it containerID /bin/bash 进入docker容器交互
5).docker cp index.html containerID://usr/share/nginx/html 本地文件cp到container里的nginx的目录进行替换
6).docker stop containerID 停止容器
7).docker commit -m 'commit text' containerID newImageName 提交当前指定运行的container保存为新的image
8).docker rmi imageID 删除一个image
9).docker rm containerID 删除一个运行的container
10).docker pull nginx 下拉一个image

Dockerfile 文件创建容器
FROM alpine:latest 基础模板镜像
MAINTAINER xxx 维护者
CMD echo 'hello docker' 容器输出的内容

 


打包
docker build -t dokcerRepositoryName . (.当前目录下的Dockerfile)

容器时持久化volume
(1) 不指定目录映射(匿名卷)
docker run -d --name nginx -v /usr/share/nginx/html nginx
(2) 指定目录映射(命名卷)
docker run -p 8080:80 -d -v $PWD/html:/usr/share/nginx/html nginx ($PWD当前目录,将容器中/usr/share/nginx/html 映射到服务器的当前目录下/html文件夹)
docker inspect nginx (nginx是--name名字) 查看配置
"Mounts": [
{
"Type": "bind",
"Source": "/usr/docker/dockerfile2/html", 映射在主机的路径
"Destination": "/usr/share/nginx/html", 容器路径
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
]
(3)数据容器--volums-from
docker create -v $PWD/data:/var/mydata --name data_container ubuntu 创建一个数据容器
docker run -it --volumes-from data_container ubuntu /bin/bash 挂载数据容器,并直接进入

原文地址:https://www.cnblogs.com/412013cl/p/10393728.html