安装 yum install docker 或者 apt-get install docker.io
避免sudo权限,将当前用户加入docker用户组 #添加docker用户组 sudo groupadd docker #将登陆用户加入到docker用户组中 sudo gpasswd -a $USER docker #更新用户组 newgrp docker #测试docker命令是否可以使用sudo正常使用 docker ps
开启 systemctl start docker
开机自动开启 systemctl enable docker
换源 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-‘EOF’ { “registry-mirrors”: [“https://w26lkikx.mirror.aliyuncs.com”] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
下载mysql docker pull mysql
运行mysql容器(这是一行命令) docker run -p 3306:3306 --name mysql01 -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
运行容器中的mysql终端(相当于打开了cmd,还得使用mysql -u …启动mysql) docker exec -it mysql01 bash 远程连接故障排除
use mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
云服务器安全组打开3306端口(而非防火墙等问题)
navicat连接,导入数据。
查看容器日志 docker logs mysql01
删除容器 docker rm mysql01
把项目部署到服务器docker中 docker build -t DockerFilename . docker run --net=host --name=zjmj -d -p 8081:8081 zjmj
https://blog.csdn.net/begin1013/article/details/80860224 (虽然mysql映射到了host(主机网络)中的3306,但是项目仅仅是映射了访问端口8080,3306对于项目来说是访问不到的,因此需要将项目加到host网络中,这样就可以互通,也可以自定义一个网络) docker run --net=host --name=news -d -p 8081:8081 news
docker镜像运行异常被终止后无法删除 docker ps -a docker rm 异常终止的镜像名 docker rmi 异常终止的镜像id
CMD是默认命令,如果有ENTRYPOINT,则CMD会失效,CMD只允许有一个。
docker-compose 安装 最新发行的版本地址:https://github.com/docker/compose/releases。 sudo curl -L “https://github.com/docker/compose/releases/download/1.26.0/docker-compose- ( u n a m e − s ) − (uname -s)- (uname−s)−(uname -m)” -o /usr/local/bin/docker-compose
赋权 sudo chmod +x /usr/local/bin/docker-compose
创建软链 sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
编写docker-compose.yml文件(不可更名)
dc up [-d后台] dc ps 查看运行zhuangt dc start 运行编排容器(不用指定任何名字,会自动运行上一次up的容器) dc stop 停止 dc rm 删除编排容器