Docker 基本使用
# 镜像 docker search 镜像名 # 搜索镜像 docker pull 镜像名 # 下载镜像 docker image ls # 查看本地的所有镜像 docker images # 查看本地的所有镜像 docker rmi 镜像id/镜像名 # 删除指定镜像 docker rmi -f 镜像id/镜像名 # 强制删除指定镜像
# 容器 docker ps # 查看正在运行的容器 docker container ls # 查看正在运行的容器 docker ps -a # 看来所有的容器 docker ps -aq # 查看所有的容器id docker rm 容器id/容器名 # 删除容器 docker rm `docker ps -aq` # 删除所有容器 docker rm -f `docker ps -aq` # 强制删除所有容器 docker -d run 镜像名/镜像id # 根据镜像创建容器在后台运行 docker -it run 镜像名/镜像id 指定解释器 # 根据镜像创建容器且进入容器 docker start/stop 容器id # 开启/停止容器
容器允许的概念
1.一个容器最好只允许一个应用
2.进行最大程度的松耦合
3.一个容器挂了,不会影响其他的应用程序
4.微服务(docker,etcd,rpc,k8s)
查看系统的版本
cat /etc/os-release
创建镜像、导入导出镜像
# 1.创建容器并进入容器 docker run -it --name python-docker centos /bin/bash 参数: -it #交互式 --name # 容器的命名 # 2.查看所有容器记录 docker ps -a # 3.退出当前容器,提交容器为新的镜像 docker commit 3f69 s1/centos7-python3 # 4.查看本地所有镜像 docker images # 5.导出镜像 docker save s1/centos7-python3 > /opt/centos7-python3.tar.gz # s1/centos7-python3 镜像名 # /opt/centos7-python3.tar.gz 导出后的文件 # 6.强制删除本地所有镜像 docker rmi -f `docker images -aq` # 7.导入镜像 docker load < /opt/centos7-python3.tar.gz
新命令
# 查看所有容器的id docker ps -aq # 停止所有容器 docker stop `docker ps -aq` # 删除所有容器 docker rm `docker ps -aq` # 查看所有本地镜像 docker images -aq # 删除所有本地镜像 docker rmi `docker images -aq` # 强制删除所有本地镜像 docker rmi -f `docker images -aq`
创建容器且随机端口映射
docker run -d -P training/webapp python app.py # 后台允许基于training/webapp镜像的创建容器,本地不存在镜像,会从Docker Hub公用存仓库去找 # -d 后台允许 # -P 随机端口映射,容器内暴露的端口
# 0.0.0.0:32768->5000/tcp
宿主机(物理机)的端口 -> 容器内的端口
创建容器且指定端口映射
docker run -d -p 8989:5000 training/webapp python app.py # -p 指定端口映射 # 8989:5000 # 宿主机端口: 容器内端口
docker镜像推送和下载
# 登陆Docker Hub docker login # 查看本地所有镜像 docker images # 修改本地镜像的名字 docker tag s1/centos7-python3 mutou1999/centos7-python3 ## mutou1999/centos7-python3 公共仓库的用户名/镜像名 # 推送到用户的公共仓库 docker push mutou1999/centos7-python3 # 强制删除所有本地镜像 docker rmi -f `docker images -aq` # 从公共仓库下载镜像 docker pull mutou1999/centos7-python3