24 05 2020

拉取镜像

docker pull nginx
docker pull nginx:latest // 镜像名称:版本号  不写版本号默认最新版(latest)


启动容器

docker run -d -p 13306:3306 -v /etc/mysql:/var/mysql mysql

docker run -d  // -d 表示通过daemon方式来启动
-p 13306:3306  // 端口映射,将host主机的13306端口和docker容器的3306端口映射起来
-v /etc/mysql:/var/mysql // 目录挂载,将容器内的/var/mysql目录挂载到host主机的/etc/mysql目录,可以实现容器内这个目录下的数据持久化
mysql  // 镜像名,指定加载哪个镜像


重启或停止或删除容器应用

docker ps // 列出目前正在运行的容器列表
docker ps -a  // 列出所有的容器列表
docker start <容器id> // 通过容器id来重启某个容器
docker stop <容器id>  // 通过容器id来关闭某个容器
docker rm <容器id>  // 通过容器id来删除某个已经停止的容器
docker rm -f <容器id> // 通过容器id强制删除容器


查看容器日志

docker logs -f <容器id>
docker inspect <容器id> // 从返回结果中找到Logpath, 运行的历史日志会在这个文件中找到


进入容器

docker exec -it <容器id> /bin/bash // 进入容器内并进入它的shell终端
docker exec -it <容器id> <shell命令> //在容器内执行shell命令
比如:docker exec -it <容器id> ls -l // 查看容器内系统根目录下所有文件或文件夹


删除本地镜像

docker rmi <镜像id>
docker rmi -f <镜像id>  // 强制删除


打包镜像

// 提前准备好一个Dockerfile,在Dockerfile相同路径下执行
docker build -t <指定一个完整的镜像名,比如testsvt:v1.0>
// 即可打包出一个本地镜像,通过docker push推送到远端镜像仓库


推送镜像

// 推送镜像到docker hub,需要先注册账号
docker push <用户名>/<打包时定义的镜像名>:<标签,版本号>

// 推送到私有镜像仓库,需要提前搭建好仓库服务(比如用harbor搭建)
docker push <私有镜像库域名,如a.b.com>/<项目名称>/镜像名:<标签>