Docker基础命令:
docker:
pull # 从远端获取image
build # 创建image
images # 列出image
run # 运行container
ps # 列出container
rm # 删除container运行历史
rmi # 删除已有images
cp # 在host和container之间拷贝文件
commit # 保存改动为新的image
docker run -p 8080:80 -d container
-p: 端口映射 -d: 后台运行
docker ps -a
ps: 查看当前正在运行的container -a: 查看所有运行过的container
docker cp fileName containerID://usr/share/nginx/html
# 停止正在运行的container
docker stop containerID
# 保存修改后的container (NewName)给出新的名字
docker commit -m 'fun' containerID newName
# 删除images
docker rmi imagesID
# 删除运行历史
docker rm [containerID...]
Dockerfile使用:
FROM # base image
RUN # 执行命令
ADD # 添加文件
COPY # 拷贝文件
EXPOSE # 暴露端口
WORKDIR # 指定路径
MAINTAINER # 维护者
ENV # 设定环境变量
ENTRYPOINT # 容器入口
USER # 指定用户
VOLUME # mount point
FROM alpine:latest
MAINTAINER ozone
CMD echo "Hello ozone"
# 创建新的image -t: 标签名 .路径
docker build -t imageName .
FROM ubuntu
MAINTAINER ozone
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/ubuntu' /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y nginx
COPY index.html /var/www/html
ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]
EXPOSE 80
# 停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
# 如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)
# 查看当前有些什么images
docker images
# 删除images,通过image的id来指定删除谁
docker rmi
# 想要删除untagged images,也就是那些id为的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
# 要删除全部image的话
docker rmi $(docker images -q)
Volume持久化
术语
host # 宿主机
image # 镜像
container # 容器
registry # 仓库
daemon # 守护进程
client # 客户端
Registry交互
search # 查看远端仓库
pull # 拉取镜像
push # 将映像或存储库推入注册表
启动参数
--restart=always #当 Docker 启动/重启时,跟随docker一起启动
# 如果忘记加--restart=always
docker container update --restart=always 容器名字
--privileged=true #获取宿主机root权限(开启特权)
其他
# 查看启动中的容器IP
docker inspect 容器IP |grep IPAddress
网友评论