Docker使用总结

Docker

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 镜像相关
docker images # 查看镜像
docker search xxx # 搜索互联网镜像
docker pull xxxx # 拉取镜像
docker rmi xxxx # 删除镜像
# 容器相关
docker ps # 查看运行的容器
docker ps -a # 查看所有容器
docker run # 运行容器,-i运行容器,-t创建后进入命令行,-d后台运行,-p端口映射,-v目录映挂载,--name命名
#交互式 docker run -it --name=mycentos centos:7 /bin/bash
# 守护式 docker run -di --name=mycentos1 centos:7
docker exex -it xxxxx /bin/bash # 进入容器
docker stop xxx # 停止容器
docker start xxx # 启动容器
# 文件拷贝
docker cp 需要拷贝的目录 容器名:容器目录
docker cp 容器名:容器目录 需要拷贝的目录
# 通过目录挂载将目录与容器目录进行映射 通过--privileged=true来解决目录权限问题
docker run -di -v /xx/YY:/xx/YY --name=mycentos2 cnetos:7
# 查看容器相关数据
docker inspect xxx
# 查看容器ip
docker inspect --format='{{.NetworkSrtting.IPAddress}}' xxx
# 删除指定容器
docker rm xxx

应用部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#mysql
docker pull centos/mysql-xxx
docker run -di --name=testmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
docker exex -it testmysql /bin/bash
mysql -uroot -pxxx

#nginx
docker pull nginx
docker run --name nginx-test -p 8080:80 -d nginx
docker exec -it nginx-test /bin/bash

#tomcat
docker pull tomcat
docker run --name myTomcat -p 8080:8080 -v $PWD/xxx:/usr/local/tomcat/webapps/ -d tomcat #目录映射
docker exec -it myTomcat /bin/bash

# mongo
docker pull mongo
docker run -itd --name myMongo -p 27017:27017 mongo --auth
docker exec -it myMongo mongo admin
# 创建一个名为 admin,密码为 admin 的用户。
> db.createUser({ user:'admin',pwd:'admin',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]})
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', 'admin')

# RabbitMQ
docker search rabbitmq
docker pull rabbitmq:3.8.3-management
docker run -di --name myRabbitmq -p 5671:5617 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management
# 访问 http://127.0.0.1:15672/

备份

1
2
3
4
5
6
#容器保存为镜像
docker commit 容器名称xxxx 镜像名称YYY
# 镜像备份
docker save -o xxx.tar 镜像名称YYY
# 镜像恢复与迁徙
docker load -i xxx.tar

DockerFile

dockerfile是有一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。

dockerFile常用命令

1
2
3
4
5
6
7
FROM image_name:tag 定义使用的基础镜像
MAINTAINER user_name 什么镜像创建者
ENV key calue 设置环境变量
RUN command 命令执行
ADD 原目录/文件 目标目录/文件 将文件移动到容器
COPY 原目录/文件 目标目录/文件 将文件复制到容器
WORKDIR 目录 设置工作目录