参考: docker 常用命令大全_保护我方胖虎的博客-CSDN博客_docker常用命令
安装
默认安装目录:/var/lib/docker
1
uname -r
Docker 要求 CentOS 系统的内核版本高于 3.10
2
sudo yum update
更新了插件,这里等了5分钟左右,过程中是否确认的操作我都是选的Y
3
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
这里又安装了一些什么东西
4
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
添加镜像
5
yum list docker-ce --showduplicates | sort -r
查看了一下版本
sudo yum install docker-ce-17.12.0.ce
选择版本,安装docker,途中两次询问,都是选的Y
6
docker version
查看是否安装成功
安装mysql5.7
1
docker pull mysql:5.7
2
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
启动mysql
参数说明:
- -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
- MYSQL_ROOT_PASSWORD=root:设置 MySQL 服务 root 用户的密码。
- mysql:5.7: 镜像名字
修改root用户的密码
进入容器内部 docker exec -it mysql /bin/bash
进入mysql,然后输入密码, mysql -u root -p
设置密码 SET PASSWORD FOR 'root' = PASSWORD('密码');
设置密码 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('密码');
退出
quit
安装redis
1
docker pull mysql:5.0.5
2
mkdir /var/lib/docker/appconfig/redisconfig
创建配置目录 ,并将redis配置文件上redis.conf传到该目录下
#这是从官网下载下来后修改了的地方
# bind 127.0.0.1
protected-mode no
port 6379
daemonize no
appendonly yes
requirepass 123456
启动redis
docker run -p 6379:6379 --name redis505 -v /var/lib/docker/appconfig/redisconfig/redis.conf:/etc/redis/redis.conf -d redis:5.0.5 redis-server /etc/redis/redis.conf
安装nginx
1
下载最新版nginx
docker pull nginx
2
这里路径可能需要自己对一下
复制一些文件到宿主机
docker cp nginx:/etc/nginx/nginx.conf /var/lib/docker/appconfig/nginxconfig
docker cp nginx:/etc/nginx/conf.d /var/lib/docker/appconfig/nginxconfig
docker cp nginx:/usr/share/nginx/html /var/lib/docker/appconfig/nginxconfig
3
创建并启动容器
docker run -d -p 8001:80 --name nginx -v /var/lib/docker/appconfig/nginxconfig/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /var/lib/docker/appconfig/nginxconfig/html:/usr/share/nginx/html -v /var/lib/docker/appconfig/nginxconfig/nginx.conf:/etc/nginx/nginx.conf nginx
部署jar包到docker
1、将jar上传到某目录,我的是/home/training/
2、创建Dockerfile文件 ,写入一下内容
# 置顶基础镜像
FROM java:8# 维护者
MAINTAINER pengxiang# 将jar包添加到容器
COPY ./trainingweb.jar trainingweb.jar#容器启动时执行命令
ENTRYPOINT java -jar trainingweb.jar
3、构建容器
docker build -f Dockerfile -t trainingweb .
4、查看镜像
5、创建容器
docker run --name trainingweb -d -p 8000:8000 trainingweb
安装nacos
https://www.jb51.net/article/248585.htm
docker命令
启动
systemctl start docker
查看状态
systemctl status docker
停止
systemctl stop docker
重启
systemctl restart docker
查看版本
docker version
拉取mysql 5.7版本的镜像,不写版本拉取最新版本
docker pull mysql:5.7
镜像命令
查看本地镜像列表
docker images
删除镜像
docker rmi mysql:5.7
查看镜像存储信息
docker system df
容器命令
查看
docker ps //查看正在运行的容器
docker ps -a // 查看容器历史记录
创建新的容器
docker run -itd --name mysql57-p 3306:33060 mysql:5.7 /bin/bash
大致意思就是 启动我们镜像中的5.7版本的mysql,命名为mysql57,映射关系是将容器的33060端口映射到宿主机的3306端口,实际访问时应访问宿主机的3306端口
-itd :自行百度
--name:取别名
-p:端口映射
--restart=always :该容器随docker服务启动而自动启动
-v /var/lib/redis/data/:/data 数据挂载,就是说把原来的数据文件放到本容器里面, /var/lib/redis/data/ 是宿主机文件存储位置 /data是容器内文件位置
修改启动配置
docker container update --restart=always mysql57
重启容器
docker restart mysql57
重命名
docker rename mysql57 mysql577
删除
删除名字为mysql57容器
docker rm -f mysql57
删除所有未运行的容器
sudo docker rm $(sudo docker ps -a -q)
停止
docker stop mysql57