Docker安装和常用命令

260 阅读3分钟

安装docker

#卸载旧版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
#安装所需的软件包
 sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
#设置稳定的仓库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker Engine-Community 和 containerd
sudo yum install docker-ce-19.03.8  docker-ce-cli-19.03.8 containerd.io
# 启动 Docker
sudo systemctl start docker
# 设置docker开机自启动
sudo systemctl enable docker

#docker命令
docker images  #查看镜像
docker -v
docker ps  -a #查看所有容器
docker exec -it 容器ID/容器名 /bin/bash # 进入某个容器控制台
docker update redis --restart=always # docker启动它也启动,同理设置mysql

删除容器

docker rm -f 1e560fca3906
# 清理掉所有处于终止状态的容器。
docker container prune

安装docker时出现了404问题,最后是删除了yum缓存

cd /etc/yum.repos.d/
rm -rf docker-ce.repo
rm -rf download.docker.com_linux_centos_docker-ce.rep.repo

设置docker镜像加速

cr.console.aliyun.com/cn-hangzhou…

sudo mkdir -p /etc/docker
# 配置加速器
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["你的地址"]
}
EOF
# 重启后台线程
sudo systemctl daemon-reload
# 重启docker
sudo systemctl restart docker

docker安装mysql

可以用 docker search mysql 命令来查看可用版本

#安装mysql5.7
sudo docker pull mysql:5.7
# 端口映射 、目录挂载、设置root用户密码为root
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

使用mysql工具连接

cd /mydata/mysql/conf

#修改mysql配置(字符编码)
vi my.cnf

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

# 重启mysql
docker restart mysql
# 可以进入mysql查看
docker exec -it mysql /bin/bash
cd /etc/mysql
ls # 可以看到下面有个my.cnf文件

安装redis

# 下载
docker pull redis

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
# 端口映射、目录挂载、每次都以后面这个配置文件启动
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
docker exec -it redis redis-cli
set a b
get a

设置redis持久化为aof持久化方式

vi redis.conf
appendonly yes
docker restart redis

redis配置文件参考:www.redis.cn/topics/conf…

配置maven文件

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

<profile>
      <id>jdk-1.8</id>
      <activation>
        <jdk>1.8</jdk>
      </activation>
      <properties>
      	<maven.compiler.source>1.8</maven.compiler.source>
      	<maven.compiler.target>1.8</maven.compiler.target>
      	<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
</profile>

docker安装单机版nacos

# 拉取镜像
docker pull nacos/nacos-server
#单机启动命令
# -env MODE=standalone 设置启动方式为单机模式
# --name 容器名称
# -p 端口映射为 8848
docker run --env MODE=standalone --name mynacos -d -p 8848:8848 nacos/nacos-server
#单机持久化数据库命令
#nacos服务器端口
#SPRING_DATASOURCE_PLATFORM -- standalone 支持 mysql
docker run --env MODE=standalone --name nacos -d -p 8848:8848 \
-e MYSQL_SERVICE_HOST=xx.xxx.xxx.xx  \ 注意替换
-e MYSQL_SERVICE_PORT=3306  \
-e MYSQL_SERVICE_DB_NAME=nacos_config  \
-e MYSQL_SERVICE_USER=root  \
-e MYSQL_SERVICE_PASSWORD=root  \
-e SPRING_DATASOURCE_PLATFORM=mysql  \
-e MYSQL_DATABASE_NUM=1 \
nacos/nacos-server
name description option
MODE cluster模式/standalone模式 cluster/standalone default cluster
NACOS_SERVERS nacos cluster地址 eg. ip1,ip2,ip3
PREFER_HOST_MODE 是否支持hostname hostname/ip default ip
NACOS_SERVER_PORT nacos服务器端口 default 8848
NACOS_SERVER_IP 多网卡下的自定义nacos服务器IP
SPRING_DATASOURCE_PLATFORM standalone 支持 mysql mysql / empty default empty
MYSQL_MASTER_SERVICE_HOST mysql 主节点host
MYSQL_MASTER_SERVICE_PORT mysql 主节点端口 default : 3306
MYSQL_MASTER_SERVICE_DB_NAME mysql 主节点数据库
MYSQL_MASTER_SERVICE_USER 数据库用户名
MYSQL_MASTER_SERVICE_PASSWORD 数据库密码
MYSQL_SLAVE_SERVICE_HOST mysql从节点host
MYSQL_SLAVE_SERVICE_PORT mysql从节点端口 default :3306
MYSQL_DATABASE_NUM 数据库数量 default :2
JVM_XMS -Xms default :2g
JVM_XMX -Xmx default :2g
JVM_XMN -Xmn default :1g
JVM_MS -XX:MetaspaceSize default :128m
JVM_MMS -XX:MaxMetaspaceSize default :320m
NACOS_DEBUG 开启远程调试 y/n default :n
TOMCAT_ACCESSLOG_ENABLED server.tomcat.accesslog.enabled default :false