docker login 登录docker push 镜像

docker pull // 拉代码 可以基于git

docker push // 推送镜像到仓库 仓库可以理解为maven的 name tag 理解为 版本

 

docker build -f ~/docker/Dockerfile1 .

在一个空目录创建 Dockerfile1 不然会全部send dockerDemon

 

docker tag 5f555aefc990 nginx2:1.0

添加 REPOSITORY tag 对应刚创建的镜像

 

docker rmi -f nginx2:1.0 强制删除镜像

 

docker rm 7a2a196aabcd // 删除容器 前提是 docker ps -a

 

http://192.168.99.100:99/ 访问

 

docker logs c63f9878c6cb5229b51f00c539305e66d8fedc6ae9c199cb9a026c0b4440bd10

查看log

 

docker ps -a 查看容器的状态

 

docker run -dit -p 99:80 nginx bash // 从 -d 换成 -dit 启动容器

 

cdocker exec -it 5fefa3a3ef78 bash // 进入容器

 

cd /usr/sbin/

./nginx // 启动服务

 

 

docker push

需要tag 改名: 如下

docker tag nginx2:1.0 liutaizhen/nginx2

 

doceker push docker tag nginx2:1.0 liutaizhen/nginx2 // ok 了q

 

==================================

 

我有一个 Dockerfile 在一个容器中安装MySQL服务器,然后我这样开始:

sudo docker run -t -i 09d18b9a12be /bin/bash

但MySQL服务没有自动启动,我必须手动运行(从容器内):

service mysql start

 

解释:

首先,有一个 问题 在你的 Dockerfile:

RUN service mysql restart && /tmp/setup.sh

Docker镜像不保存正在运行的进程。所以,你的 RUN 命令仅在执行期间执行 docker build 阶段并在构建完成后停止。相反,您需要在使用时启动容器时指定命令 CMD 要么 ENTRYPOINT 如下命令:

CMD mysql start

其次,docker容器需要一个进程(last命令)来继续运行,否则容器将退出/停止。所以,正常 service mysql start 命令不能直接在Dockerfile中使用。

 

=====================

docker inspect a76c0c6234bb // 查看容器的情况

 

 

docker run -dit -p 90:80 -v /mydir nginx bash // -v 挂载 一个目录可以多容器共享的目录

docker rm -v 容器 // 删除容器和目录

 

 

docker port 容器id // 查看端口映射

 

=========================

代理: https://bxzp8rxf.mirror.aliyuncs.com

https://jxus37ad.mirror.aliyuncs.com

==========================

docker mysql :

docker run -dit -p 3306:3306 -e MYSQL_ROOT_PASSWORD=taizhen mysql

容器:

cat /etc/mysql/my.cnf

cd /var/lib/mysql

宿主机器 创建:/home/docker/mysql/conf 和 /home/docker/mysql/data

 

docker run -dit -v /home/docker/mysql/conf:/etc/mysql/conf.d -v /home/docker/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=taizhen mysql

 

docker exec -it mysql mysql -uroot -p123

 

 

===================

docker ui:

docker run -it -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker

 

================

/var/jenkins_home/secrets

 

jenkins 需要添加-u root 参数

docker run -dit -u root -p 12002:8080 -v /home/docker/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkins

 

==========

es 内存默认1 G ,不然会报错

docker run -p 9200:9200 --name es -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /home/docker/es/data:/usr/share/elasticsearch/data -v /home/docker/es/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.2.0

or

docker run -it -p 9200:9200 --name es -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /home/docker/es/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.2.0

 

清理 swap ()内存:物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况

 

swapoff -a && swapon -a

 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐