Docker
2023-12-13 05:50:28
Docker
openEuler 在线安装 Docker
yum -y update
yum -y install tar vim net-tools zip unzip
yum -y install docker
Deepin UOS 在线安装 Docker
阿里脚本方式安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
手动方式安装
删除docker,如果有的话:
sudo apt-get -y remove docker docker-engine docker.io containerd runc
让apt支持https
sudo apt-get -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
\apt-transport-https
\ca-certificates
\curl
\gnupg-agent
\software-properties-common
添加证书
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
添加源
sudo dedit /etc/apt/sources.list.d/docker.list
内容如下
deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian buster stable
备注:
- 不想或不熟悉命令行或碰上奇怪问题的朋友的请使用vim 编辑/etc/source.list文件
- 因为deepin v20是基于debian 10,代号为buster,所以使用其他版本的朋友请先查看自己系统对应的版本再对上面做修改
检查更新并下载
sudo apt -y update
sudo apt -y install docker-ce docker-ce-cli containerd.io
Ubuntu 在线 安装 Docker
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
开启docker 远程访问API
sudo vim /lib/systemd/system/docker.service
# 找到ExecStart
将 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H
# 修改为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
# 保存退出。
sudo systemctl daemon-reload
sudo systemctl restart docker
curl http://ip:2375/version
安装Docker管理器 Portainer
sudo docker search portainer
sudo docker run -d -p 9999:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name portainer-test portainer/portainer
sudo docker run -d -p 9999:9000 --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
--name portainer-test portainer/portainer-ce
sudo docker ps
docker 安装 nginx
# 查看本地镜像
sudo docker images
# 搜索远程镜像
sudo docker search nginx
# 下载远程镜像
sudo docker pull nginx
# 运行容器 --name 容器名称 -d 后台运行 -p 端口映射 平台端口:容器端口 镜像名称
sudo docker run --name nginx-test -d -p 80:80 nginx
# 查看正在运行的容器
sudo docker ps
# 关闭正在运行的容器
sudo docker stop nginx-test
# 查看所有容器 包括正在运行的容器和未运行的容器
sudo docker ps -a
# 启动关闭的容器
sudo docker start nginx-test
# 查看正在运行的容器
sudo docker ps
# 关闭正在运行的容器
sudo docker stop nginx-test
# 删除容器 该容器必须是未运行状态
sudo docker rm nginx-test
# 查看所有容器 包括正在运行的容器和未运行的容器
sudo docker ps -a
# 查看本地镜像
sudo docker images
# 删除本地镜像
sudo docker rmi nginx
# -d :分离模式: 在后台运行
# -i :即使没有附加也保持STDIN 打开
# -t :分配一个伪终端
# 通过 exec 命令对指定的容器执行 bash
sudo docker exec -it nginx-test /bin/bash
# 退出容器
exit
# 准备 nginx 容器与本地文件映射文件目录
# /home/lhz/nginx/html 存放网页文件
# /home/lhz/nginx/conf.d 存放配置文件
mkdir -p /home/lhz/nginx/html /home/lhz/nginx/conf.d
# docker cp:用于容器与主机之间的数据拷贝
# 从容器中拷贝文件到本地
sudo docker cp nginx-test:/usr/share/nginx/html /home/lhz/nginx
sudo docker cp nginx-test:/etc/nginx/conf.d/default.conf /home/lhz/nginx/conf.d
sudo docker cp nginx-test:/etc/nginx/nginx.conf /home/lhz/nginx
# 删除现有nginx容器
sudo docker stop nginx-test
sudo docker rm nginx-test
# 查看所有容器 包括正在运行的容器和未运行的容器
sudo docker ps -a
# 在 /home/lhz/nginx/html目录下准备自己的网页
# 创建新容器 使用本地文件映射
# -v 本地文件:容器中文件
# --restart=always
# --restart=always 表示容器退出时,docker会总是自动重启这个容器
# --restart=on-failure:3
# 表示容器的退出状态码非0(非正常退出),自动重启容器,3是自动重启的次数。超过3此则不重启
# --restart=no 默认值,容器退出时,docker不自动重启容器
# --restart=unless-stopped 表示容器退出时总是重启,但是不考虑docker守护进程运行时就已经停止的容器
sudo docker run -d -p 80:80 \
-v /home/lhz/nginx/html:/usr/share/nginx/html \
-v /home/lhz/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf \
-v /home/lhz/nginx/nginx.conf:/etc/nginx/nginx.conf \
--name nginx-test --restart=always nginx
docker 安装 mysql
# 映射数据库数据文件
mkdir -p /home/lhz/docker/mysql/{conf,data}
sudo docker search mysql
sudo docker pull mysql
sudo docker run --restart=always -p 3306:3306 -p 33060:33060 \
-v /home/lhz/docker/mysql/data:/var/lib/mysql \
--name mysql-test -e MYSQL_ROOT_PASSWORD=lihaozhe -d mysql
docker 安装 redis
mkdir -p /home/lhz/docker/redis/{conf,data}
cd /home/lhz/docker/redis/conf
wget https://raw.githubusercontent.com/antirez/redis/7.0/redis.conf
sudo docker run -d -p 6379:6379 \
-v /home/lhz/apps/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /home/lhz/apps/redis/data:/data \
--name myredis redis redis-server \
/usr/local/etc/redis/redis.conf
方式一
sudo docker run -itd --name redis-6379 -p 6379:6379 redis --requirepass 123456
sudo docker run --restart=always --name redis-6379 -p 6379:6379 -d redis --requirepass 123456
--name (启动容器的名称)
-p 映射端口:redis启动端口 redis
--requirepass 启动密码
方法二
为现有的redis创建密码或修改密码的方法:
#1.进入redis的容器
docker exec -it 容器ID bash
#2.进入redis目录
cd /usr/local/bin
#3.运行命令:
redis-cli
#4.查看现有的redis密码:
config get requirepass
#5.设置redis密码
config set requirepass 密码
docker 安装 蚂蚁笔记
sudo docker volume create leanote_data
sudo docker pull axboy/leanote
sudo docker run -d --restart=always --name leanote \
-v `pwd`/db:/data/db -v `pwd`/conf/:/data/leanote/conf \
-p 2022:9000 axboy/leanote
docker安装minio
1、查看minio的docker版本
使用docker命令查看minio的版本
sudo docker search minio
2、拉取镜像
sudo docker pull minio/minio
3、创建目录:一个用来存放配置,一个用来存储上传文件的目录
sudo mkdir -p /data/minio/config
sudo mkdir -p /data/minio/data
4、运行容器
sudo docker run -p 9000:9000 -p 9090:9090 \
--net=host \
--name minio-test \
-d --restart=always \
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
minio/minio server \
/data --console-address ":9090" -address ":9000"
这里的9090端口指的是minio的客户端端口。虽然设置9090,但是我们在访问9000的时候,他会自动跳到9090。
MINIO_ACCESS_KEY :账号
MINIO_SECRET_KEY :密码
5、防火墙放行端口
firewall-cmd --zone=public --add-port=9000/tcp --add-port=9090/tcp --permanent
firewall-cmd --reload
6、访问查看
http://IP:9090
springboot docker
vim /lib/systemd/system/docker.service
# 找到ExecStart
将 ExecStart=/usr/bin/dockerd $OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$INSECURE_REGISTRY
# 修改为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
# 保存退出。
systemctl daemon-reload
systemctl restart docker
firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload
curl http://ip:2375/version
curl http://ip:2375/images/json
dockerfile
FROM openjdk:21
MAINTAINER 李昊哲<646269678@qq.com>
EXPOSE 6633
ADD target/hellodocker.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
Docker创建FTP服务器
一.创建命令如下
docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /opt/vsftpd/file:/home/vsftpd -e FTP_USER=lihaozhe -e FTP_PASS=lihaozhe -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 -e PASV_ADDRESS=192.168.95.21 -e PASV_ENABLE=YES --name ftp --restart=always --privileged=true fauria/vsftpd
二.命令含义
参数 | 含义 |
---|---|
-d | 后台启动容器 |
-p 20:20 | 将外部的20端口映射到内部的20端口 |
-p 21:21 | 将外部的21端口映射到内部的21端口 |
-p 21100-21110:21100-21110 | 将外部的 21100-21110端口映射到内部的21100-21110端口 |
-v /opt/vsftpd/file:/home/vsftpd | 将本地磁盘的 /opt/vsftpd/file路径映射到内部的/home/vsftpd路径 |
-e FTP_USER=lihaozhe | ftp的主用户 |
-e FTP_PASS=lihaozhe | ftp主用户的密码 |
-e PASV_MIN_PORT=21100 | 最小被动端口 |
-e PASV_MAX_PORT=21110 | 最大被动端口 |
-e PASV_ADDRESS=192.168.95.21 | 指定本机的ip |
-e PASV_ENABLE=YES | 启动被动模式 |
–name ftp | 取一个名字,之后可以用(docker stop 名字 )来停止容器 |
–restart=always | 开机自启动 |
–privileged=true | 容器内用户获取root权限 |
fauria/vsftpd | 仓库的镜像 |
dockerfile 构建 tomcat 镜像
FROM centos:7
MAINTAINER lihaozhe<646269678@qq.com>
RUN yum -y install vim tar net-tools
ADD jdk-8u391-linux-x64.tar.gz /usr/local
ADD apache-tomcat-9.0.83.tar.gz /usr/local
ENV JAVA_HOME /usr/local/jdk1.8.0_391
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.83
ENV CATALINA_BASE $CATALINA_HOME
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
ENV TZ="Asia/Shanghai"
EXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.83/bin/startup.sh
sudo docker build -t tomcat9 .
sudo docker run --name my_tomcat -p 8080:8080 -d tomcat9
docker 安装 oracle19c
-
拉取镜像
sudo docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
-
创建挂载目录
sudo mkdir -p /mydata/oracle/oradata
-
授权
sudo chmod 777 /mydata/oracle/oradata
-
安装
sudo docker run -d \ -p 1521:1521 -p 5500:5500 \ -e ORACLE_SID=ORCL \ -e ORACLE_PDB=ORCLPDB \ -e ORACLE_PWD=orcl \ -e ORACLE_EDITION=standard \ -e ORACLE_CHARACTERSET=ZHS16GBK \ -v /mydata/oracle/oradata:/opt/oracle/oradata \ --name oracle19c \ registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
或者讲字符集修改为 AL32UTF8
sudo docker run -d \ -p 1521:1521 -p 5500:5500 \ -e ORACLE_SID=ORCL \ -e ORACLE_PDB=ORCLPDB \ -e ORACLE_PWD=orcl \ -e ORACLE_EDITION=standard \ -e ORACLE_CHARACTERSET=ZHS16GBK \ -v /mydata/oracle/oradata:/opt/oracle/oradata \ --name oracle19c \ registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
安装过程中可以通过日志监控安装情况
sudo docker logs -ft oracle19c
-
连接 Oracle 数据库
-
打开容器终端
sudo docker exec -it oracle19c /bin/bash
-
sqlplus登录 sysdba身份登录,默认进入CDB
sqlplus / as sysdba
-
进入CDB
sqlplus system/orcl@localhost:1521/orcl
-
进入PDB
sqlplus pdbadmin/orcl@localhost:1521/orclpdb
-
查看连接模式
show con_name
-
-
网页登录
https://ip:5500/em
-
sqldeveloper
-
测试中文是否乱码
select '中文' from dual
-
出现乱码就编辑客户端环境变量
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
或者
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
-
文章来源:https://blog.csdn.net/qq_24330181/article/details/134850126
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!