docker笔记
docker 拉取ubuntu镜像
docker pull ubuntu
查看本地镜像
docker images
运行容器
docker run -itd --name ubuntu-test ubuntu
创建容器常用的参数说明:
创建容器命令:docker run
-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
--name :为创建的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
查看容器运行状态
docker ps
进入docker镜像(id使用docker ps命令查看)
docker exec -it [imageid] bash
停止容器
docker stop [imageid]
杀死容器
docker kill [imageid]
删除容器
docker rm [imageid]
docker安装MySQL
下载MySQL8.0的镜像
docker pull mysql:8.0
启动MySQL
docker run --name mysql8 -p 3306:3306 -v /home/ashen/dockers/mysql8/conf:/etc/mysql/conf.d -v /home/ashen/dockers/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=asd123 -d mysql:8.0
其中mysql8为我自定义的容器名字,3306主机端口映射3306,两个目录进行映射实现持久化,添加环境变量,root密码为asd123,使用的镜像为mysql:8.0
使用exec进入镜像
docker exec -it mysql8 bash
docker安装Redis
新建文件和文件夹(ashen是我的用户名)
mkdir -p /home/ashen/dockers/redis/conf
vim /home/ashen/dockers/redis/conf/redis.conf
mkdir -p /home/ashen/dockers/redis/data
启动Redis
docker run --privileged=true -p 6379:6379 -v /home/ashen/dockers/redis/data:/data \
-v /home/ashen/dockers/redis/conf/redis.conf:/etc/redis/redis.conf --name redis \
--restart=always -d redis redis-server /etc/redis/redis.conf --appendonly yes
docker exec -it redis redis-cli
普通用户添加至docker组(修改后不需要sudo命令调用docker)
首先创建docker用户组
sudo groupadd docker
把当前用户添加进docker组中
sudo gpasswd -a ${USER} docker
重启docker
sudo service docker restart
如果普通用户执行docker命令,如果提示get …… dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限
sudo chmod a+rw /var/run/docker.sock
docker下mysql设置开机自启
docker update mysql --restart=always
springboot使用docker部署
springboot新建Dockerfile文件
FROM openjdk:8
MAINTAINER ashen
VOLUME /tmp
ENV LANG C.UTF-8
ADD java-website-boot-0.0.1-SNAPSHOT.jar test.har
# 运行jar包
RUN bash -c 'touch /test.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/test.jar"]
maven生成jar后将Dockerfile放在同一目录下,运行命令
docker build . -d [镜像名字]:[版本号]
运行命令查看本地镜像
docker images
一些解决方案
修改docker容器的端口
https://blog.csdn.net/qq_29183811/article/details/123532062